开发者

Django: persistent database-backed settings

I want to have some database stored settings for my Django app - just some key-value pair开发者_如何转开发s. Does Django have a conventional way of doing this / something built in for it, or should I implement it myself?

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

Of course, I'd want to be able to store any data type for keys and values. Perhaps I could use pickle to coerce them all into strings.


I've just been playing with the django-satchmo e-store application. Satchmo uses satchmo-livesettings or just livesettings to achieve this goal. In addition to that it is possible to change the settings using the admin interface.

The only problem is that I didn't find a tutorial on how to use livesettings. But if you browse the satchmo code, you'll see how it works.

Here is my example

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))

I've included those lines in the config.py file. To execute this file it was necessary to:

import config

in the admin.py file (I'm wondering whether this is necessary)

In order to access the settings I've included the following to the urls.py file:

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜