最简单的设置方法DJANGO_SETTINGS_MODULE
在 Windows 中使用的是set http://www.computerhope.com/sethlp.htm命令提示符下的命令。您还应该能够通过系统属性进行设置,但是您需要关闭并重新打开命令提示符才能使更改生效。
可以查询当前值DJANGO_SETTINGS_MODULE
使用set
命令以及:
C:\temp\testproject> set DJANGO_SETTINGS_MODULE
另外,你需要将其设置为python模块名称,不是文件名 https://docs.djangoproject.com/en/dev/topics/settings/#designating-the-settings(将其设置为文件名会给你一个类似于“无法导入设置“C:\temp\testproject\settings.py”(是否在 sys.path 上?):不支持按文件名导入。")
例如,
C:\temp\testproject> set DJANGO_SETTINGS_MODULE=testproject.settings
然后就可以运行python并导入模块了。
>>> import sys
>>> sys.path += ['C:\\temp']
>>> from django.db import connection
>>> connection.cursor()
<django.db.backends.util.CursorDebugWrapper object at 0x02C7F0B0>
请注意,我们还显式添加了包含 django 项目的目录(testproject
在这种情况下)到sys.path
,它实际上是 Python 查找模块的目录列表。这是必要的,因为 Python 将设置文件作为 python 模块而不是文件导入(如前所述)。
如果您想要一个交互式 shell 来处理 Django 对象,您可以使用shell管理命令 https://docs.djangoproject.com/en/dev/ref/django-admin/#shell。在 Django 项目目录中,运行以下命令:
manage.py shell
由于您使用的是 Windows,因此您可能需要这样做
python manage.py shell
相反,因为我个人遇到了 python 脚本无法接收命令行参数的问题。
C:\temp\testproject> python manage.py shell
In [1]: from django.db import connection
In [2]: connection.cursor()
Out[2]: <django.db.backends.util.CursorDebugWrapper at 0x33a0bd0>
(请注意,我有IPython http://ipython.org/安装了并且 Django 很聪明并使用它;如果您没有安装 IPython,您的 shell 看起来会略有不同。)
如果你想用 Django 运行脚本,最简单的方法是编写自定义管理命令 https://docs.djangoproject.com/en/dev/howto/custom-management-commands/,然后您可以使用参数来运行它manage.py
.