我在每個 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
資料結構略有不同,你能告訴我如何通過類傳遞所需的日期嗎?
uj5u.com熱心網友回復:
你重寫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.
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/537574.html
上一篇:DRF多欄位基礎匹配過濾器查詢集
