Django:从settings.py文件或基本配置文件导入变量是否更好?

msh*_*ren 5 python django settings configuration

我想知道从settings.py文件导入变量到视图是否更好?或者更好地使用所需的变量创建配置文件?

我倾向于为我的Django应用程序编写配置文件,在必要时从那里读取和导入变量.例如:

.configrc

[awesomeVariables]
someMagicNumber = 7
Run Code Online (Sandbox Code Playgroud)

views.py

from ConfigParser import SafeConfigParser
#Open and parse the file
config = SafeConfigParser()
config.read(pathToConfig)
#Get variable
magicNumber   = config.get('awesomeVariables', 'someMagicNumber'))
Run Code Online (Sandbox Code Playgroud)

但是,我注意到一些程序员更喜欢以下内容:

settings.py

SOME_MAGIC_NUMBER=7
Run Code Online (Sandbox Code Playgroud)

views.py

import settings
magicNumber = settings.SOME_MAGIC_NUMBER
Run Code Online (Sandbox Code Playgroud)

我很好奇不同方法的优点和缺点?可以直接从您的设置导入变量会损害架构的完整性吗?

Ada*_*mKG 5

这是一个判断电话.使用设置模块是"Django方式",虽然你应该这样做from django.conf import settings; settings.MY_SETTING,这将是尊重DJANGO_SETTINGS_MODULE.但是Django只是Python; 什么都没有阻止你使用ConfigParser.为了只有一个地方可以定义这样的东西,我建议把它放在Django设置文件中 - 但是如果你有理由不这样做,那就不要了.