мне любопытно, как к лучшей практике способ обработки иметь что-то на каждой странице или на нескольких страницах без необходимости привязывать данные вручную на каждую страницу, как так:Как заставить что-то появляться на каждой странице в Django?
# views.py
def page0(request):
return render_to_response(
"core/index.html",
{
"locality": getCityForm(request.user),
},
context_instance=RequestContext(request)
)
def page1(request):
return render_to_response(
"core/index.html",
{
"locality": getCityForm(request.user),
},
context_instance=RequestContext(request)
)
...
def page9(request):
return render_to_response(
"core/index.html",
{
"locality": getCityForm(request.user),
},
context_instance=RequestContext(request)
)
Теперь я может придумать несколько способов сделать это, в том числе написать собственный Контекст или, возможно, некоторое промежуточное ПО и, конечно же, скопировать/вставить это назначение locality
на каждую страницу ... Я просто не уверен в лучшем способе этого. Я почти уверен, что это не последнее.
Вы не рассматриваете проблему, которую он показывает в вопросе: код просмотра дублируется во многих представлениях. –
это именно то, что наследует адреса кода вида. – bigjust
Собственно, это все! Это воск для пола * и * десертная верхушка! Мы используем комбинацию контекстных процессоров и многоуровневую схему наследования шаблонов. Контекстные процессоры дают нам данные во всех наших представлениях, а наследование шаблонов означает, что данные попадают в нужное место на странице. –