我想为我的django应用程序存储一些数据库设置-只是一些键值对。django是否有一种传统的方式来做这个/为它内置的东西,或者我应该自己实现它?

class Setting(models.Model):
     key = models.TextField()
     value = models.TextField()

当然,我希望能够存储键和值的任何数据类型。也许我可以用pickle把它们都强制成字符串。

最佳答案

我刚刚在玩django satchmo电子商店应用程序。satchmo使用satchmo livesettings或livesettings来实现这个目标。此外,还可以使用管理界面更改设置。
唯一的问题是我没有找到关于如何使用livesettings的教程。但是如果你浏览satchmo代码,你会看到它是如何工作的。
这是我的例子

from livesettings import config_register, StringValue, PositiveIntegerValue
SHOP_GROUP = ConfigurationGroup('SHOP', ('ShirtSale Shop Settings'), ordering=0)
CHARGE_PORTO = config_register(
    BooleanValue(SHOP_GROUP,
             'CHARGE_PORTO',
             description = ('Porto Erheben?'),
             help_text = ("Wird bei Bestellungen zusaetzlich ein Porto erhoben?"),
             default = True))

我在config.py文件中包含了这些行。要执行此文件,必须:
import config

在admin.py文件中(我想知道这是否必要)
为了访问设置,我将以下内容包含到url.py文件中:
(r'^settings/', include('livesettings.urls')),

09-26 03:36