Django - 如何在数据库的设置文件中设置值?

时间:2017-05-27 03:16:06

标签: django django-settings

(首先抱歉我的英语不好)

我需要知道是否存在使用数据库中存储的一些数据在设置文件中设置某些值的任何方法。

例如Mail config

EMAIL_HOST = ''
EMAIL_HOST_USER = ''
EMAIL_HOST_PASSWORD = ''
EMAIL_PORT = 587
EMAIL_USE_TLS = True

我想使用我在公司应用程序中设置的模型中保存的数据来填充变量。

但是在服务器启动之前就像设置文件一样,我不知道是否存在任何方法。

希望你能理解我。

谢谢!

2 个答案:

答案 0 :(得分:0)

据我所知,Django设置应该是不可变的。这有多种原因,最明显的是Django不知道服务器的执行模型(prefork / multi-threaded)。

此外,您无法从Django模型加载设置,因为在您可以使用ORM中的任何内容之前需要加载设置。这意味着您无法从数据库设置电子邮件地址,您需要在settings.py文件中设置电子邮件(硬编码)。

答案 1 :(得分:0)

电子邮件主机必须是硬编码的,如果您设置了与您自己的逻辑相关的内容,您可以尝试django-constance。或者您可以尝试从txt读取设置,我不知道它是否会很有用,但这是一个值得的方法。