我正在尝试从Django settings.py
文件中提取变量/值(保留注释,空格等),并使用Python以编程方式将它们移动或附加到另一个文件。总的来说,我正在尝试将设置模块自动拆分为多个文件(不是手动使用文本编辑器)。
如何在这样的文件中找到分配给任何变量的值? - 如果可能的话,以简洁的方式,例如使用正则表达式。
示例变量/值:
DEBUG = True
TEMPLATE_DEBUG = DEBUG
ALLOWED_HOSTS = [
'*'
]
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(PROJECT_PATH, 'database.sqlite'),
}
}
SECRET_KEY = '#*ji*0hbpj6#4-0=$%bl(z+z)c=pd(rn^9u*1_96f^ba+4w58v'
LONG_STRING_VALUE = \
"""
bla foo bar baz ...
"""
A_TUPLE = (
'...',
)
备注:
部分正常工作的代码在GitHub上:DjangoSettingsManager(标识任何变量,直到等号后,截至2014年2月15日)
r'([ ]*#.*\n)*[ ]*(\A|\b)' + var + r'\s*=\s*\\?\s*'
答案 0 :(得分:0)
使用django.conf.settings
模块,例如你可以知道django是处于调试模式还是没有输入:
from django.conf import settings
settings.DEBUG
...
文档here