【问题标题】:Accessing get method data in Django Template在 Django 模板中访问 get 方法数据
【发布时间】:2014-10-13 23:42:29
【问题描述】:

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

我有这个:/?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 被阅读。然后我会在它的基础上做一个条件块。

【问题讨论】:

    标签: python django forms django-templates


    【解决方案1】:

    您可以通过将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 }}
    

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

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

    {{ request.GET }}
    

    和消息参数:

    {{ request.GET.message }}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-02-14
      • 2020-11-04
      • 2010-12-25
      • 2015-03-17
      • 1970-01-01
      • 2011-10-04
      • 2012-09-06
      相关资源
      最近更新 更多