Django: постоянные настройки на основе базы данных - PullRequest
2 голосов
/ 11 января 2011

Я хочу сохранить некоторые настройки базы данных для моего приложения Django - только несколько пар ключ-значение. У Django есть традиционный способ сделать это / что-то встроенное для него, или я должен реализовать это сам?

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

Конечно, я бы хотел иметь возможность хранить данные любого типа для ключей и значений. Возможно, я мог бы использовать рассол, чтобы заставить их всех в последовательности.

1 Ответ

0 голосов
/ 11 января 2011

Я только что играл с приложением интернет-магазина 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')),
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...