【问题标题】:Django: persistent database-backed settingsDjango:持久的数据库支持设置
【发布时间】:2011-06-07 00:08:56
【问题描述】:

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

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

当然,我希望能够为键和值存储任何数据类型。也许我可以使用 pickle 将它们强制转换为字符串。

【问题讨论】:

标签: python database django


【解决方案1】:

我刚刚在玩 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')),

【讨论】:

    猜你喜欢
    • 2010-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-21
    • 2014-02-28
    • 2020-10-01
    • 2021-02-23
    • 1970-01-01
    相关资源
    最近更新 更多