在Django Template中访问get方法数据

时间:2014-08-20 14:44:03

标签: python django forms django-templates

我已经阅读了文档和其他内容,尝试了很多但仍然没有运气。我想要实现的是显示自定义错误消息。

我有这个:/?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 }}

这没有输出。我需要的是成功来阅读。然后我会在它的基础上做一个条件块。

1 个答案:

答案 0 :(得分:2)

您可以将message方法更改为

,将get_context_data添加到模板上下文中
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 }}

或者,请确保您使用request template context processor,以使模板中的request对象可用。

然后在您的模板中,您可以使用以下方式访问GET数据:

{{ request.GET }}

和消息参数:

{{ request.GET.message }}