Django:持久数据库支持的设置

时间:2011-01-11 07:09:47

标签: python database django

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

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

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

1 个答案:

答案 0 :(得分:0)

我刚刚玩过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文件中的

(我想知道这是否有必要)

为了访问设置,我将以下内容包含在urls.py文件中:

(r'^settings/', include('livesettings.urls')),