我有 Django 项目。我需要将应用程序添加到 INSTALLED_APPS 或使用另一个 python 脚本更改模板配置。最好的方法是什么?
我有几个想法。
- 从 Python 中以文本文件形式打开
settings.py
并对其进行修改。似乎是轮子的重新发明,打开的盒子有很多错误(转义等等)。 - 使用像
ast
这样的 Python 模块,但它的级别相当低,并且更多用于读取访问(并且我需要写回数据)。 - 使用一些 Django 工具(我不确定是否存在这样的工具)。
最好的方法是什么?
PS:Parse a .py file, read the AST, modify it, then write back the modified source code是相关的,但它不是 Django 特有的并且相当古老。
最佳答案
更好(意味着更安全、更干净)的方法是生成一个 python 模块,然后在 settings.py 中使用它。例如,让您的脚本创建一个包含以下内容的文件:
ADDITIONAL_APPS = [
'foo',
'bar',
]
将其另存为,例如,additional_settings.py,并将其放在与settings.py相同的目录中,然后在settings.py中添加行
from .additional_settings import ADDITIONAL_APPS
...
INSTALLED_APPS += ADDITIONAL_APPS
这样您就根本不需要解析任何内容,也不会冒破坏现有设置的风险。
让我知道它是否有效
关于python - 以编程方式修改 Django 设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39534505/