我正在尝试使用视图类方法(之前已经完成)访问模板中的模型数据,但是“ 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)” “我仍然得到上下文未定义的错误。
答案 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)