Здравствуйте!
Друзья, первое сообщение на форуме.
Задача довольно тривиальная и в книгах про это многое написано, но так и не нашел best practices.
Необходимо в шаблон передать параметры, которые описаны в модели. Модель простая: имя параметра, его значение.

Пользователь в админке редактирует эти параметры тем самым изменяя содержимое сайта.
Первое, что приходит в голову, создать в представлении несколько переменных и каждую указать в словаре:
def index(request):
photo_title = config.objects.get(name="photo_title")
photo_text = config.objects.get(name="photo_text")
under_text = config.objects.get(name="under_text")
context = {'photo_title': photo_title, 'photo_text': photo_text, 'under_text': under_text}
return render(request, 'main/main.html', context)
Для большого числа параметров не самая удачная идея. Использовал генератор словарей:
def index(request):
fields = (
'photo_title',
'photo_text',
'under_text',
)
context = dict((x,config.objects.get(name=x)) for x in fields)
return render(request, 'main/main.html', context)
Получилось, что элементы кортежа соответствую переменным шаблона. Если в шаблоне появилось что-то новое, то просто дополняем кортеж (который можно будет вынести в отдельный файл) и записываем значение параметра в базу.
Чувствую, что тоже не самое лучшее решение. Пожалуйста, поделитесь опытом.