C. *_*ppa 4 authentication django orm
我有一个使用flatpages和其他不带request对象的构造的应用程序.这会导致base.html出现问题.这是一个简单的例子.
如果我想要"欢迎{{request.user.username}}之类的话!" 在每个页面的顶部,实现这一目标的最佳方法是什么?
的flatpages使用RequestContext的渲染模板.这里有一些关于RequestContext的信息.可以说,您应该能够编写一个Context Processor来将request.user添加到每个模板的上下文中.像这样的东西:
def user(request):
"""A context processor that adds the user to template context"""
return {
'user': request.user
}
Run Code Online (Sandbox Code Playgroud)
然后,您将TEMPLATE_CONTEXT_PROCESSORS在settings.py中添加到现有内容中:
TEMPLATE_CONTEXT_PROCESSORS = TEMPLATE_CONTEXT_PROCESSORS + (
'context_processors.user',
)
Run Code Online (Sandbox Code Playgroud)
您只需要确保所有视图都绑定RequestContext到他们的模板:
return render_to_response('my_template.html',
my_data_dictionary,
context_instance=RequestContext(request))
Run Code Online (Sandbox Code Playgroud)
这是对Context Processors 的一个很好的阅读.它们是一个非常有用的功能.
| 归档时间: |
|
| 查看次数: |
1454 次 |
| 最近记录: |