AFAIK,Django设置应该是不可变的。造成这种情况的原因有多种,最明显的原因是Django不了解服务器的执行模型(prefork /多线程)。
另外,你无法从Django模型本身加载设置,因为需要先加载设置,然后才能在ORM中使用任何内容。
因此,基本上,你有两种解决方案:
- 你可以使用任何较低级别的数据库访问机制从数据库中引导设置来加载它们;要么
- 你可以只在其他模型中定义设置,并在需要时直接获取它们。
首先是令人难以置信的黑客攻击,我不建议这样做。第二种方法更直接,更清洁,但是需要你改变惯常的习惯(from django.conf import settings
)。
第二种方法可能是你链接到的第三方应用程序实现的方法。



