什么时候应该使用 django-admin.py 而不是 Manage.py?

发布于 2024-09-08 22:26:21 字数 565 浏览 0 评论 0原文

背景:

当我运行 django-admin.py loaddata example.json 时,我收到此错误。 “ImportError:无法导入设置,因为环境变量 DJANGO_SETTINGS_MODULE 未定义。”我明白这个问题。它需要 DJANGO_SETTINGS_MODULE 才能访问数据库来执行此导入。我以前遇到过这个问题,到目前为止我已经设法回避它。

在阅读文档时,我发现 manage.py 是 django-admin.py 的包装器;它将项目放在 sys.path 上并设置 DJANGO_SETTINGS_MODULE 环境。哇!哇!我知道如何解决我的问题。

苏... 为什么 Django 文档 代码示例使用 django-admin.py演示诸如 loaddatadumpdata 等子命令时,manage.py 的情况如何?

Background:

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.

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...
Why do the Django documentation code examples use django-admin.py instead of manage.py when demonstrating subcommands such as loaddata and dumpdata?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

夏至、离别 2024-09-15 22:26:21

如果设置了 DJANGO_SETTINGS_MODULE 环境变量,则可以从任何工作目录使用 django-admin.py,而您需要在项目目录中才能使用 。 /manage.py (或将其放在您的路径中)。

使用virtualenv,并通过bin/activate设置DJANGO_SETTINGS_MODULE,然后就可以使用django-admin.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).

Use virtualenv, and have DJANGO_SETTINGS_MODULE set by bin/activate, and then you can use django-admin.py.

咽泪装欢 2024-09-15 22:26:21

为什么Django文档代码示例在演示loaddata和dumpdata等子命令时使用django-admin.py而不是manage.py?

嗯,因为这些脚本在原理上是相同的,但也有差异,你已经提到了。 Django 文档也

django-admin.py <subcommand> [options]
manage.py <subcommand> [options]

并排提到。通常,您使用 django-admin.py 来启动新项目或应用程序,并使用 manage.py 来完成其余的工作。

Why do the Django documentation code examples using django-admin.py instead of manage.py when demonstrating subcommands such as loaddata and dumpdata?

Well, because these scripts are the same in priciple, with the differences, you already mentioned. The Django docs also mention

django-admin.py <subcommand> [options]
manage.py <subcommand> [options]

side by side. Usually you use django-admin.py to start a new project or application and manage.py to do the rest.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文