在windows上正确设置DJANGO_设置_模块

在windows上正确设置DJANGO_设置_模块,django,windows,environment-variables,Django,Windows,Environment Variables,这里有我关于这个查询的帖子,但大多数都是针对linux的。它们中没有一个是适用于windows的 在我的应用程序中,我正在设置数据库(sqlite3,Django中的默认值)。编辑我的应用程序(mysite)的setting.py文件后 在发现我必须设置DJANGO_SETTINGS_模块环境后,DJANGO才能了解数据库设置。所以我把它设置成 DJANGO_SETTINGS_MODULE = "D:\Django_Code\mysite\mysite\settings.py" 在发布时交叉检

这里有我关于这个查询的帖子,但大多数都是针对linux的。它们中没有一个是适用于windows的

在我的应用程序中,我正在设置数据库(sqlite3,Django中的默认值)。编辑我的应用程序(mysite)的setting.py文件后

在发现我必须设置DJANGO_SETTINGS_模块环境后,DJANGO才能了解数据库设置。所以我把它设置成

DJANGO_SETTINGS_MODULE = "D:\Django_Code\mysite\mysite\settings.py"
在发布时交叉检查数据库设置

>>> from django.db import connection
>>> cursor = connection.cursor()
它表示DJANGO_SETTINGS_模块环境变量未定义


需要帮助才能正确设置DJANGO\u设置\u模块。

在Windows中设置DJANGO\u设置\u模块的最简单方法是使用命令提示符下的命令。您还应该能够通过系统属性进行设置,但需要关闭并重新打开命令提示符,更改才能生效

您还可以使用
set
命令查询
DJANGO\u设置\u模块的当前值:

C:\temp\testproject> set DJANGO_SETTINGS_MODULE
此外,您需要将其设置为python模块名称(将其设置为文件名将产生类似于“无法导入设置'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>
因为你在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>
C:\temp\testproject>python manage.py shell
在[1]中:从django.db导入连接
在[2]中:connection.cursor()
出[2]:
(请注意,我已经安装了,Django正在使用它;如果您没有安装IPython,那么您的shell看起来会略有不同。)


如果要使用Django运行脚本,最简单的方法是运行,然后可以使用参数
manage.py

运行该脚本,您不需要设置Django\u设置\u模块。正如Caspar所说,只需执行
python manage.py shell
即可为Django设置一个shell。您可以在Windows上的环境变量上永久导入它吗?@ExoticBirdsMerchant当然,您可以将其设置为(该文章适用于XP,但在7上仍然相同)。顺便说一句,这个UI很糟糕,如果你需要在Windows上编辑一些环境变量,那么你可能想尝试一下(没有附属关系)。谢谢你,确实环境变量中的GUI在Windows上很糟糕而且不实用,而且Rapid EE非常棒!!!
python manage.py shell
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>