gpt4 book ai didi

python - 从 Django 中基于类的 View 返回上下文

转载 作者:行者123 更新时间:2023-12-01 22:08:44 24 4
gpt4 key购买 nike

所以如果我像这样使用函数 View :

def messageView(request):
webpages_list = AccessRecord.objects.order_by('date')
date_dict = {'access_records':webpages_list}
return render(request,'index.html',context=date_dict)

我的 url 解析器看起来像这样:path('', views.messageView , name='index'),

一切正常,我的记录按预期显示: enter image description here

但是,当我尝试像这样使用基于类的 View 时:

class IndexView(CreateView):
form_class = RegisterUserForm
template_name = "index.html"

def index(self,request):
webpages_list = AccessRecord.objects.order_by('date')
date_dict = {'access_records':webpages_list}

return render(request, self.template_name,context=date_dict )

url 是这样的:path('', views.IndexView.as_view(), name='index'),

在这种情况下我一无所获,我尝试寻找简单的案例,只是从 django 在线类 View 中返回上下文,但无济于事。

请问我到底误解了什么?

最佳答案

您可以覆盖 get_context_data方法。

将其放入基于类的 View 中:

def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['access_records'] = AccessRecord.objects.order_by('date')
return context

它返回一个表示模板上下文的字典。

关于python - 从 Django 中基于类的 View 返回上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49956724/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com