Django:模板中的request.session

时间:2016-04-11 20:26:03

标签: python django

我想让{{request.session.something}}在Django模板中工作(使用TemplateResponse)。

以下是我迄今为止发现的一些信息:

  • 首先,我的设置中包含“django.template.context_processors.request”(Django 1.9)。
  • 如果我使用来自django.shortcuts的渲染,那么{{request.session.something}}完全适用于模板
  • 我需要使用TemplateResponse,因为我有一个中间件,我需要调用“process_request”和“process_template_response”(如果我记得,“process_template_response”不适用于django.shortcuts的渲染)

有什么建议可能是什么问题?

视图代码(没什么特别的):

from django.template.response import TemplateResponse as render
def coming_soon(request):
    return render(request, 'app/coming-soon.html', None)

提前谢谢! 任何帮助将非常感谢!

1 个答案:

答案 0 :(得分:0)

如果您使用的是基于类的视图,则可以创建类似

的函数
def get_session_thing(self):
    x = self.request.session.thing
    #stuff
    return str(x)

然后在模板中你可以做

{{ view.get_session_thing }}