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

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

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

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

3 Solutions collect form web for “Административный сайт Django: как создать единую страницу для глобальных настроек?”

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

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

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

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

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

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

  • Ошибка Django: объект 'ChoiceField' не имеет атрибута 'is_hidden' "
  • django-admin - как изменить ModelAdmin для одновременного создания нескольких объектов?
  • Класс Django View: имя 'self' не определено
  • Формы Django: удаление запрещенных полей сохраняется между валидациями
  • Настройка формы изменения электронной почты Django
  • Проблемы с повышением ValidationError в форме Django
  • Как исключить унаследованное поле в форме в Django?
  • Можете ли вы изменить метку поля в приложении Django Admin?
  • Python - лучший язык программирования в мире.