kel*_*fix 0 django django-sessions
我正在使用登录中间件来创建用户登录表单.
用户成功登录后,从视图中检索用户ID的最佳方法是什么?
创建了一个middleware.py:
class LoginMiddleware(object):
def process_request(self, request):
if request.path != self.require_login_path and request.user.is_anonymous():
if request.POST:
return login(request)
else:
return HttpResponseRedirect('%s?next=%s' % (self.require_login_path, request.path))
Run Code Online (Sandbox Code Playgroud)
用户登录后,User可以通过request.user模板自动获取其关联对象.当你说"用户ID"时,我不确定你是指用户名还是id数据库中的字面值.但是,同样的方法适用于两者:{{ request.user.username }}或{{ request.user.id }}.
此外,正如上面提到的评论者所说,除非您需要更改登录的处理方式,否则没有理由创建新的身份验证中间件.否则,请不要管它并使用默认值.(这似乎是你应该根据你的中间件做的事情).
更新:忽略提及为了request.user在模板中访问,您必须传入RequestContext.示例render_to_response如下:
from django.template import RequestContext
render_to_response('templates/mytemplate.html', {}, context_instance=RequestContext(request))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3788 次 |
| 最近记录: |