#python #django #python_3x #django_admin #python_35
Где хранить единичные данные в Django v1.10.1 и Python v3.5, например: Названия сайта, Номер телефона, Логотип, Описание. И необходимо изменять через админку.
Ответы
Ответ 1
Что касается именно джанго, то у админки таких инструментов нет. Админка джанги - это высокоуровневый интерфейс для работы именно с базой данных. Как вариант это сделать отдельную таблицу для этих данных. Если неохота, то можно сделать самому странички для админки. Единичные данные можно хранить в любом файле. Или воспользоваться сторонними библиотеками, которые решают подобные задачи.Ответ 2
Решил данную задачу средствами 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
Комментариев нет:
Отправить комментарий