问题描述
背景:
当我运行 django-admin.py loaddata example.json
时,出现此错误。 ImportError:无法导入设置,因为环境变量DJANGO_SETTINGS_MODULE未定义。我了解这个问题。它需要DJANGO_SETTINGS_MODULE才能访问数据库以执行此导入。我以前遇到过这个问题,到目前为止,我已经设法避免了这个问题。
When I run the django-admin.py loaddata example.json
I get this error. "ImportError: Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is undefined." I understand the problem. It needs the DJANGO_SETTINGS_MODULE to be able to access the database to do this import. I've had this problem before and I've managed to side step it thus far.
在阅读文档时,我发现 manage.py
是django-admin.py的包装;它将项目放在 sys.path
上,并设置 DJANGO_SETTINGS_MODULE
环境。 !哇!我知道如何解决我的问题。
In reading the docs, I discovered that the manage.py
is a wrapper for django-admin.py; it puts the project on the sys.path
and sets the DJANGO_SETTINGS_MODULE
environment. Woot! Whoa! I know how to fix my problem.
Soo ...
为什么使用Django 代码示例在演示诸如 loaddata $之类的子命令时,使用django-admin.py而不是manage.py。 c $ c>和
dumpdata
?
Soo...Why do the Django documentation code examples use django-admin.py instead of manage.py when demonstrating subcommands such as loaddata
and dumpdata
?
推荐答案
如果设置了 DJANGO_SETTINGS_MODULE
环境变量,则可以使用 django-admin.py
来自任何工作目录,而您需要在项目目录中才能使用 ./ manage.py
(或将其放在您的路径中)。
If your DJANGO_SETTINGS_MODULE
environment variable is set, you can use django-admin.py
from any working directory, whereas you need to be in the project directory to use ./manage.py
(or have it in your path).
使用 virtualenv
,并具有 DJANGO_SETTINGS_MODULE
由 bin / activate
设置,然后可以使用 django-admin.py
。
Use virtualenv
, and have DJANGO_SETTINGS_MODULE
set by bin/activate
, and then you can use django-admin.py
.
这篇关于什么时候应该使用django-admin.py和manage.py?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!