6

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

if (length > value_stored_somewhere)
 throw error message

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

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

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

4

1 回答 1

7

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

于 2011-04-25T03:09:39.117 回答