Где хранить единичные данные в 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
Комментариев нет:
Отправить комментарий