Python错误:对象没有属性“ META”

时间:2019-03-15 16:56:08

标签: python django django-views

我在这里的观点有点问题,因为它在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)

有人能指出我正确的方向吗?

1 个答案:

答案 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

您应该阅读有关subclassing the generic views

的更多信息