如何在数据库中保留Django应用程序设置,或即时更改?

rab*_*bid 5 django settings application-settings django-settings

有没有人建议如何创建一个允许我动态更改设置的系统?例如,我有一个用户可以填写的textarea,现在它的最大字符数限制为1000.有一天,我可能想将其更改为500或2000或其他内容.所以我不想对模型本身施加限制,以免我想要经历备份数据库的噩梦,运行syncdb,重新导入数据库,这样的噩梦只是为了改变一个简单的值.我宁愿在字符长度上检查Javascript或views.py代码.

if (length > value_stored_somewhere)
 throw error message
Run Code Online (Sandbox Code Playgroud)

我想我可以把这些值放在settings.py中,或者也许是一个单独的local-settings.py,但这意味着如果我想更改值,我必须重新启动应用程序,对吧?或者我可能是错的,所以请告诉我,如果我错了.

我认为这样做的理想方法是将设置放在数据库中,这样管理员就可以在不触及任何.py文件的情况下即时更改值.我看了一下django-dbsettings,但似乎根本没有任何活动.

请给我建议和解决方案.非常感谢!

Tor*_*cht 6

你的所有假设都是正确的.如果要更改设置(在任何设置文件中),则需要重新启动应用程序.现在,没有办法"动态改变设置".在处理所谓的实时设置之外,有许多可重用的应用程序.也许你尝试其中一个.请记住,即使你动态更改设置,你也不会改变Django中的行为(因为Django或其他应用程序直接使用内部设置).但对于自定义应用程序或项目,这是一种很好的方法.