事情是,我们的网站和许多其他的,有很多设计选项,应该由非开发人员编辑.我们正在谈论在数据库中真正没有位置的独立站点范围的常量.将它们放在数据库中将导致许多无意义的查询.缓存可以减轻这种情况,但是这似乎不必要地复杂,以处理settings.py文件中的一行可以做的事情.
我确实注意到了this dbsettings app,但它是老旧的,没有维护.我也注意到,django电子商务应用程序Satchmo包含了这个dbsettings应用程序的用例特定的分支.我们可以在我们的网站上建立类似的东西,一个将某些设置作为键/值对存储在单个数据库表中的应用程序,但它似乎似乎是错误的方法.为什么把数据库中的东西放在不属于那里的地方,以便使非开发人员更易于编辑?
解决方法
Not all settings belong in
settings.py
,as it has some
particular limitations:
Settings are project-wide. This not only requires apps to clutter up
settings.py
,but also increases the chances of naming
conflicts.Settings are constant throughout an instance of Django. They cannot be
changed without restarting the application.Settings require a programmer in order to be changed. This is true even
if the setting has no functional impact on anything else.
如果dbsettings不适合你,那么实现你自己的,或者fork它.看起来不是太难了.