在Django模板中访问get方法数据

0 投票
1 回答
2105 浏览
提问于 2025-04-18 17:55

我看了很多文档和其他资料,也尝试了很多教程,但还是没能成功。我想实现的是显示一个自定义的错误信息。

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

撰写回答