我在这里的观点有点问题,因为它在Django上返回错误,但我不知道我做错了什么。我的代码如下:
from django.views.generic import TemplateView
from django.shortcuts import render
from community.models import Community
class CommunityLanding(TemplateView):
def get_context_data(request):
template_name = 'community/landing.html'
objects = Community.objects.all()
context = {
'object': objects
}
return render(request, template_name, context)
有人能指出我正确的方向吗?
答案 0 :(得分:1)
关于代码的几乎所有内容都是错误的。 template_name属性是在类内部定义的,而不是在get_context_data方法内部定义的。 get_context_data方法仅采用一个参数,并且是“ self”变量,并且应仅返回上下文。您不需要手动呈现模板,只要定义了template_name,其他方法就可以解决。
from django.views.generic import TemplateView
from community.models import Community
class CommunityLanding(TemplateView):
template_name = 'community/landing.html'
def get_context_data(self):
context = super().get_context_data()
objects = Community.objects.all()
context['object'] = objects
return context
的更多信息