在Django模板中访问get方法数据
我看了很多文档和其他资料,也尝试了很多教程,但还是没能成功。我想实现的是显示一个自定义的错误信息。
我现在有这个:/?message=success
我想在我的Django模板中访问这个数据。
class mysite(TemplateView):
template_name = 'index.html'
def get_context_data(self, **kwargs):
context = super(mysite, self).get_context_data(**kwargs)
return context
def get(self, request, *args, **kwargs):
return super(mysite, self).get(request, *args, **kwargs)
我在模板文件中是这样访问的:
{{ message }}
但是这样没有任何输出。我需要的是success这个信息能被读取到。然后我会根据这个信息做一些条件判断。
1 个回答
2
你可以通过修改你的 get_context_data
方法来把 message
加入到模板的上下文中。
def get_context_data(self, **kwargs):
context = super(mysite, self).get_context_data(**kwargs)
context['message'] = self.request.GET.get('message', '') # default to empty string if not in GET data
return context
然后在你的模板中可以这样访问 message
:
{{ message }}
另外,确保你使用了 请求模板上下文处理器,这样就可以在模板中使用 request
对象了。
接着在你的模板中,你可以这样访问 GET 数据:
{{ request.GET }}
而要访问 message
参数,可以这样做:
{{ request.GET.message }}