tim*_*i95 2 python django django-views
所以如果我使用像这样的函数视图:
def messageView(request):
webpages_list = AccessRecord.objects.order_by('date')
date_dict = {'access_records':webpages_list}
return render(request,'index.html',context=date_dict)
Run Code Online (Sandbox Code Playgroud)
我的网址解析器如下所示:path('', views.messageView , name='index'),
然而,当我尝试像这样使用基于类的视图时:
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 )
Run Code Online (Sandbox Code Playgroud)
网址就像这样:path('', views.IndexView.as_view(), name='index'),
在这种情况下我什么也没得到,我尝试寻找仅从 django online 中的类视图返回上下文的简单情况,但无济于事。
我到底在这里误解了什么?
您可以重写get_context_data方法。
将其放在基于类的视图中:
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['access_records'] = AccessRecord.objects.order_by('date')
return context
Run Code Online (Sandbox Code Playgroud)
它返回一个表示模板上下文的字典。
| 归档时间: |
|
| 查看次数: |
7507 次 |
| 最近记录: |