什么时候应该使用 django-admin.py 和 manage.py?
Posted
技术标签:
【中文标题】什么时候应该使用 django-admin.py 和 manage.py?【英文标题】:When should you use django-admin.py versus manage.py? 【发布时间】:2011-03-14 07:32:33 【问题描述】:背景:
当我运行django-admin.py loaddata example.json
时,我得到了这个错误。 “ImportError:无法导入设置,因为环境变量 DJANGO_SETTINGS_MODULE 未定义。”我明白这个问题。它需要 DJANGO_SETTINGS_MODULE 才能访问数据库来执行此导入。我以前遇到过这个问题,到目前为止我已经设法避开它。
在阅读文档时,我发现manage.py
是 django-admin.py 的包装器;它将项目放在sys.path
上并设置DJANGO_SETTINGS_MODULE
环境。哇!哇!我知道如何解决我的问题。
苏...
为什么Django documentation 代码示例在演示loaddata
和dumpdata
等子命令时使用django-admin.py 而不是manage.py?
【问题讨论】:
【参考方案1】:如果设置了DJANGO_SETTINGS_MODULE
环境变量,您可以在任何工作目录中使用django-admin.py
,而您需要在项目目录中才能使用./manage.py
(或将其放在您的路径中)。
使用virtualenv
,并通过bin/activate
设置DJANGO_SETTINGS_MODULE
,然后就可以使用django-admin.py
了。
【讨论】:
【参考方案2】:为什么 Django 文档代码示例在演示 loaddata 和 dumpdata 等子命令时使用 django-admin.py 而不是 manage.py?
嗯,因为这些脚本在原理上是相同的,但您已经提到了不同之处。 Django 文档也提到了
django-admin.py <subcommand> [options]
manage.py <subcommand> [options]
并排。通常您使用django-admin.py
启动一个新项目或应用程序,然后使用manage.py
完成其余的工作。
【讨论】:
我确实认为这会使文档对于经验不足的用户更加混乱,而且我已经有大约 9 个月的时间使用 django。感谢您的帮助!以上是关于什么时候应该使用 django-admin.py 和 manage.py?的主要内容,如果未能解决你的问题,请参考以下文章
设置 django 的 django-admin,py 的问题