Страницы

Поиск по вопросам

вторник, 28 мая 2019 г.

Где хранить единичные данные в Django

Где хранить единичные данные в Django v1.10.1 и Python v3.5, например:
Названия сайта, Номер телефона, Логотип, Описание.
И необходимо изменять через админку.


Ответ

Решил данную задачу средствами django-solo, пример:
models.py:
# models.py
from django.db import models from solo.models import SingletonModel
class SiteConfiguration(SingletonModel): site_name = models.CharField(max_length=255, default='Имя сайта ') maintenance_mode = models.BooleanField(default=False)
def __unicode__(self): return u"Конфигурация Сайта"
class Meta: verbose_name = "Конфигурация Сайта"
admin.py:
# admin.py
from django.contrib import admin from solo.admin import SingletonModelAdmin from config.models import SiteConfiguration
admin.site.register(SiteConfiguration, SingletonModelAdmin)
views.py:
# views.py
from django.shortcuts import render_to_response from config.models import SiteConfiguration
def main(request): ConfSiteConfiguration = SiteConfiguration.objects.all() return render_to_response('index.html', {'config': ConfSiteConfiguration})
template:
{% load solo_tags %} {% get_solo 'config.SiteConfiguration' as site_config %} {{ site_config.site_name }} {{ site_config.maintenance_mode }}
Код в примере взял из документации django-solo

Комментариев нет:

Отправить комментарий