将模型传递给模板时,类视图错误“名称'context'未定义”

时间:2019-10-10 14:57:40

标签: django django-views

我正在尝试使用视图类方法(之前已经完成)访问模板中的模型数据,但是“ NameError:未定义名称'context'”的现象不断出现。

from django.views.generic import TemplateView
from django.shortcuts import render, redirect
from .models import Email

class MapView(TemplateView):
    template_name = 'Map/map.html'
    email = Email.objects.all()
    context = {'email': email}

    def get(self, request):
        return render(request, self.template_name, context)

如果我用空字典“ {}”替换“ context”,则可以显示模板,但是即使我声明“ context = {}”并尝试返回“ render(request,request.self.template_name,context)” “我仍然得到上下文未定义的错误。

1 个答案:

答案 0 :(得分:0)

类属性在类方法的范围内(即未定义)。如果您需要从方法中访问类属性,则可以通过self进行此操作:

class MapView(TemplateView):
    template_name = 'Map/map.html'
    email = Email.objects.all()
    context = {'email': email}

    def get(self, request):
        return render(request, self.template_name, self.context)