Административный сайт Django: как создать единую страницу для глобальных настроек?

Я хотел бы создать одну страницу в админ-сайте django, где я могу изменить некоторые глобальные переменные веб-сайта (название веб-сайта, элементы в меню навигации и т. Д.). На данный момент я их кодировал как процессоры контекста, но я хотел бы сделать их доступными для редактирования. Что-то похожее на то, что происходит в WordPress.

Это возможно?

  • Я могу хранить данные в базе данных, но могу ли я иметь ссылку на сайте администратора, которая идет прямо в первую запись документа и не позволяет создавать несколько записей (они не имели бы смысла)
  • Вместо того, чтобы создавать модель в базе данных, можно ли изменить какой-либо context_processor с сайта администратора (я думаю, это было бы лучше)

django-preferences делает именно то, что вы ищете. Реализация немного хакерская (в частности, установка __module__ в классе модели, чтобы обмануть Django, подумав, что она загружена из другого приложения), но она работает.

Существует приложение под названием django-values, которое позволяет вам сохранять определенные настройки в базе данных.

Это похоже на то, с чем предназначена инфраструктура сайтов.

http://docs.djangoproject.com/en/dev/ref/contrib/sites/

«Это крючок для привязки объектов и функциональности к определенным веб-сайтам, и это место для доменных имен и« подробных »имен ваших сайтов, работающих на Django».

Документы звучат так, как будто это хорошо для нескольких сайтов, но это отличное место для размещения вещей в модели с одним сайтом на django.