[英]Django : is it better to import variables from a settings.py file, or basic configuration file?
我想知道从settings.py文件导入变量到视图是否更好? 或者更好地使用所需的变量创建配置文件?
我倾向于为我的Django应用程序编写配置文件,在必要时从那里读取和导入变量。 例如:
.configrc
[awesomeVariables]
someMagicNumber = 7
views.py
from ConfigParser import SafeConfigParser
#Open and parse the file
config = SafeConfigParser()
config.read(pathToConfig)
#Get variable
magicNumber = config.get('awesomeVariables', 'someMagicNumber'))
但是 ,我注意到一些程序员更喜欢以下内容:
settings.py
SOME_MAGIC_NUMBER=7
views.py
import settings
magicNumber = settings.SOME_MAGIC_NUMBER
我很好奇不同方法的优点和缺点? 可以直接从您的设置导入变量会损害架构的完整性吗?
这是一个判断电话。 使用设置模块是“Django方式”,虽然你应该from django.conf import settings; settings.MY_SETTING
from django.conf import settings; settings.MY_SETTING
,这将尊重DJANGO_SETTINGS_MODULE
。 但是Django只是Python; 没有什么能阻止你使用ConfigParser
。 为了只有一个地方可以定义这样的东西,我建议把它放在Django设置文件中 - 但是如果你有理由不这样做,那就不要了。
使用配置文件完全不是Django。 设置进入settings.py。 期。 对于特定于应用程序的设置,您只需在应用程序中设置默认值,并允许用户在其项目的settings.py中覆盖:
from django.conf import settings
SOME_MAGIC_NUMBER = settings.SOME_MAGIC_NUMBER if hasattr(settings, 'SOME_MAGIC_NUMBER') else 0
# Where `0` is the default value
还有一个用于在db中动态存储设置的应用程序。 也许你觉得它很有用。 Django的康斯坦斯
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.