Sta*_*ale 29 python authentication django cookies session
我正在一个小型公司的小型内部网站上工作,用户应该能够发布.我想象了一种非常简单的身份验证机制,人们只需输入他们的电子邮件地址,就会收到一个唯一的登录URL,它会设置一个cookie,以便在将来的请求中识别它们.
在我的模板设置中,我有base.html,其他页面扩展了这个.我想在base.html中显示登录或注册按钮,但是如何确保必要的变量始终是上下文的一部分?似乎每个视图都只是根据自己的喜好设置上下文,并且没有全局上下文填充.有没有办法在不在每个上下文创建中包含用户的情况下执行此操作?
或者我是否必须制作自己的自定义快捷方式才能正确设置上下文?
Dan*_*iel 43
如果您已经拥有in 并且如果您在视图中使用,则无需为用户对象编写上下文处理器."django.core.context_processors.auth"TEMPLATE_CONTEXT_PROCESSORS RequestContext
如果您使用的是django 1.4或最新的模块已移至 django.contrib.auth.context_processors.auth
zal*_*lun 33
@Ryan:关于预处理器的文档有点小
@Staale:每次在视图中调用模板时,将用户添加到Context,DRY
解决方案是使用预处理器
答:在你的设置中添加
TEMPLATE_CONTEXT_PROCESSORS = (
'myapp.processor_file_name.user',
)
Run Code Online (Sandbox Code Playgroud)
B:在myapp/processor_file_name.py中插入
def user(request):
if hasattr(request, 'user'):
return {'user':request.user }
return {}
Run Code Online (Sandbox Code Playgroud)
从现在开始,您可以在模板中使用用户对象功能.
{{ user.get_full_name }}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
27533 次 |
| 最近记录: |