我想为我的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')),