django在哪个文件中请求['user']

时间:2014-01-16 04:16:04

标签: python django django-models django-forms

如文档中所述,经过身份验证的用户对象存储在模板中的用户变量中。我需要django在apps文件中存储用户变量的地方谢谢:

user = request.user
request['user'] = user #where is?

感谢您的帮助

3 个答案:

答案 0 :(得分:1)

确保您使用RequestContext。否则,user在模板中不可用。

答案 1 :(得分:1)

它位于AuthenticationMiddleware

官方文件提到它:

link

  

AuthenticationMiddleware将用户与使用的请求相关联   会话。

link

  

class AuthenticationMiddleware

     

添加表示的用户属性   当前登录的用户,每个传入的HttpRequest对象。   请参阅Web请求中的身份验证。

源代码(django.contrib.auth.middleware.py):

class AuthenticationMiddleware(object):
    def process_request(self, request):
        assert hasattr(request, 'session'), "The Django authentication middleware requires session middleware to be installed. Edit your MIDDLEWARE_CLASSES setting to insert 'django.contrib.sessions.middleware.SessionMiddleware'."

        request.user = SimpleLazyObject(lambda: get_user(request))

答案 2 :(得分:0)

阅读django documentation here的链接。 您将获得django身份验证的清晰图片