gpt4 book ai didi

django - 在 Windows 上正确设置 DJANGO_SETTINGS_MODULE

转载 作者:可可西里 更新时间:2023-11-01 14:45:17 26 4
gpt4 key购买 nike

我有关于此查询的帖子,但其中大部分是针对 linux 的。它们都不是明确用于 Windows

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

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
'NAME': 'D:/Django_Code/sqlite.db', # Or path to database file if using sqlite3.
'USER': '', # Not used with sqlite3.
'PASSWORD': '', # Not used with sqlite3.
'HOST': '', # Set to empty string for localhost. Not used with sqlite3.
'PORT': '', # Set to empty string for default. Not used with sqlite3.
}
}

发现我必须设置 DJANGO_SETTINGS_MODULE 环境以便 Django 可以了解数据库设置。所以我把它设置成

DJANGO_SETTINGS_MODULE = "D:\Django_Code\mysite\mysite\settings.py"

在我发布时交叉检查数据库设置

>>> from django.db import connection
>>> cursor = connection.cursor()

它说 DJANGO_SETTINGS_MODULE 环境变量未定义。

需要帮助才能正确设置 DJANGO_SETTINGS_MODULE。

最佳答案

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

您也可以使用set 命令查询DJANGO_SETTINGS_MODULE 的当前值:

C:\temp\testproject> set DJANGO_SETTINGS_MODULE

另外,需要设置为python模块名,not the filename (将它设置为文件名会给你一个类似于“无法导入设置'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 management command .在您的 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,Django 很聪明并使用了它;如果您没有安装 IPython,您的 shell 看起来会略有不同。)

如果你想用 Django 运行脚本,最简单的方法是 write a custom management command ,然后您可以使用 manage.py 的参数运行它。

关于django - 在 Windows 上正确设置 DJANGO_SETTINGS_MODULE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12854271/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com