我想为我的Django应用程序提供一些数据库存储设置 - 只是一些键值对。 Django是否有传统的方法来做这个/为它内置的东西,或者我应该自己实现它?
class Setting(models.Model):
key = models.TextField()
value = models.TextField()
当然,我希望能够存储键和值的任何数据类型。也许我可以用泡菜将它们全部强制成字符串。
答案 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')),