我怎样才能永久设置环境变量DJANGO_SETTINGS_MODULE上WINDOWS一个永久的基础上,并用它做什么?
DJANGO_SETTINGS_MODULE
WINDOWS
我的意思是
Win Button
Pause/Break Button
Control Panel\System and Security\System
Advanced System Settings
Environment Variables
User variables
System variables
New Button
DJANGO_IMPORT_SETTINGS
XXX- >如何 设置一个变量值才能一次全部使用?
在有关此问题的Django网站中,它指出:
使用Django时,必须告诉它所使用的设置。 通过使用环境变量DJANGO_SETTINGS_MODULE来执行此操作。
DJANGO_SETTINGS_MODULE的值应采用Python路径语法,例如mysite.settings。 请注意,设置模块应位于Python导入搜索路径上。
这是什么意思 ……应该采用Python路径语法,例如mysite.settings … ?
Python
C:\Python27
Django
C:\Python27\Lib\site-packages\django
这是什么mysite意思。这是什么目录C:\Something......
mysite
C:\Something......
您可以一劳永逸地放置此变量,还是必须为每个项目不断更改它(我希望不是!)
这行的可疑含义是什么? 请注意,设置模块应位于Python导入搜索路径上。
我想要它设置DJANGO_SETTINGS_MODULE环境变量,并为此一劳永逸地完成
编辑
为了正常工作,Django只需要指向一个有效的设置文件,默认情况下,它会查找一个名为DJANGO_SETTINGS_MODULE的环境变量,以告诉它在哪里可以找到设置。 此变量的值应该是设置文件的Python导入路径,例如cms.settings。
- >什么目录之王是这样的:cms.settings?在Windows中,每个目录均以 C:\ Something ..... 开头。在Windows中如何启动这样的目录?
cms.settings
EDIT_2
摘自一本书
问题 环境变量DJANGO_SETTINGS_MODULE未定义。
解决方案: 运行命令python manage.py shell而不是python。
python manage.py shell
python
我的问题 ->关于什么目录?///您可以一次设置还是每个项目不同?
我的项目像这样构造
C:\Python27\pysec-master(file) |__local_settings.py |__manage.py |__settings.py |__C:\Python27\pysec(file) |__ __init__.py |__example.py |__models.py |__xbrl.py |__xbrl_fundamentals.py
我正在尝试运行,models.py并且settings.py在中有一个。C:\Python27\pysec-master 您可以在此处找到准确的副本。
models.py
settings.py
C:\Python27\pysec-master
MAYBE_IMPORTANT_EDIT
我的项目中有一个名为的文件manage.py,其中包含这些内容
manage.py
#!/usr/bin/env python import os import sys if __name__ == "__main__": os.environ.setdefault("DJANGO_SETTINGS_MODULE", "settings") from django.core.management import execute_from_command_line execute_from_command_line(sys.argv)
设置变量是否需要做任何事情?我是否需要在循环中在此处设置?
对于IDLE中的命令,from django.db import settings我需要为PYTHON_MODULE_SETTINGSlike设置目录C:\Python27\Lib\site- packages\django\db吗?
from django.db import settings
PYTHON_MODULE_SETTINGS
C:\Python27\Lib\site- packages\django\db
好吧,别这么沮丧。让我们一步一步看一下:
在Python中,当您在模块之间拆分代码库时,可以使用模块名称来限定导入的名称。假设您的项目的结构如下:
my_project |__utils | |____init__.py | |__file_utils.py |__my_module |____init__.py |__main.py
在您main.py要访问的方法中,您可以这样file_utils.py添加import语句main.py:
main.py
file_utils.py
import utils.file_utils.read_file
假设read_file是您要导入的方法main.py。这种将模块.分开的模块导入方式称为python路径语法。
read_file
.
在以上示例中,仅当Python解释器知道在哪里寻找第一个模块(即)时,import语句才有效utils。只有找到后utils才能找到file_utils和read_file。您可以在环境变量中指定要让解释器查看的所有路径的列表PYTHONPATH。因此,为了在代码中包含如上所述的import语句,必须确保项目的完整路径my_project在中PYTHONPATH。假设my_project是C:\AMAZEBALLS_CODE\my_project你应该C:\AMAZEBALLS_CODE在你的PYTHONPATH
utils
file_utils
PYTHONPATH
my_project
C:\AMAZEBALLS_CODE\my_project
C:\AMAZEBALLS_CODE
现在,假设您my_project实际上是Django应用程序。Django应用程序需要一个设置文件,您可以在其中指定一堆东西。为了指示Django要查看的设置文件,您可以在中指定DJANGO_SETTINGS_MODULE。假设这是您的项目结构:
my_project |__utils/ | |____init__.py | |__file_utils.py |__my_module/ | |____init__.py | |__main.py |__site_settings/ |__dev_settings.py |__production_settings.py
myroject.site_settings是Django必须查找的用于设置文件的模块。而且myroject.site_settings.dev_settings是需要被设置为值DJANGO_SETTINGS_MODULE在上述情况下。当文档说cms.settings或时,mysite.settings它们的意思是cms或是mysite项目settings.py的名称,也是设置文件的名称。
myroject.site_settings
myroject.site_settings.dev_settings
mysite.settings
cms
现在,让我们看看您的问题:
您可以在Windows的环境变量中永久设置它吗?当然。 这是正确的方法吗?没有。
因为如果您想明天在另一个位置创建另一个应用程序,则必须在Windows的环境变量部分中对此进行编辑。同样,一种惯例是将不同的设置文件用于开发环境,将另一个设置文件用于生产。因此,使用一个值将其设置在一个位置会使它不灵活。但是,如果你知道所有上述的,并且确信你会是只使用一个设置文件集DJANGO_SETTINGS_MODULE到myproject.site_settings.dev_settings的ENV变量部分。
myproject.site_settings.dev_settings
希望这可以帮助!
编辑:
看起来您正在将pysec- master项目放入C:\Python27。不要将您的项目放在python安装中。settings.py在您的项目中创建一个文件并设置DJANGO_SETTINGS_MODULE为pysec- master.settings
pysec- master
pysec- master.settings