Передача данных для Jinja2 от Updateviev
У меня есть такой шаблон на каждой html странице, в которую я хочу передать данные из моих url процессоров:
{% block title %} {{ title }} {% endblock %}
{% block username %} <b>{{username}}</b> {% endblock %}
При использовании обычных функций def, я передаю их следующим образом:
data_ = {
'form': form,
'data': data,
'username': user_name,
'title': 'Add campaign page'
}
return render(request, 'dashboard/add_campaign.html', data_)
Но когда я использую класс, основанный на UpdateView:
class CampaignEditor(UpdateView):
model = Campaigns
template_name = 'dashboard/add_campaign.html'
form_class = CampaignsForm
Есть немного другая структура данных, подскажите, как передать нужную дату через класс?
Вы отменяете get_context_data
:
class CampaignEditor(UpdateView):
model = Campaigns
template_name = 'dashboard/add_campaign.html'
form_class = CampaignsForm
def get_context_data(self, *args, **kwargs):
return super().get_context_data(
*args,
**kwargs,
data='some_data',
title='Add campagin page',
username=self.request.user
)
Здесь создается словарь, который передается в шаблон. В UpdateView
он уже будет заполнен, например, form
.