Django request.user未被传递到视图类get\u context\u数据中

Django request.user未被传递到视图类get\u context\u数据中,django,Django,我目前正在努力将邮递员应用程序集成到我自己的网站中。当您想访问“邮递员收件箱”时,您需要登录。url.py中的代码是 url(r'^inbox/(?:(?P<option>'+OPTIONS+')/)?$', InboxView.as_view(), name='inbox') 现在我的问题是,request.user.is\u authenticated没有传递到上面的get\u context\u数据(self,**kwargs)。例如,在my base.html模板中,下面将

我目前正在努力将邮递员应用程序集成到我自己的网站中。当您想访问“邮递员收件箱”时,您需要登录。url.py中的代码是

url(r'^inbox/(?:(?P<option>'+OPTIONS+')/)?$', InboxView.as_view(), name='inbox')
现在我的问题是,
request.user.is\u authenticated
没有传递到上面的
get\u context\u数据(self,**kwargs)
。例如,在my base.html模板中,下面将显示HIHI:

{% if request.user.is_authenticated %}
hihihihi
{% endif %}
这意味着用户实际上已通过身份验证。但是,当我在
class FolderMixin
中的
get\u context\u data
函数中测试时,如下所示:

def get_context_data(self, **kwargs):
    ...
    if self.request.user.is_authenticated():
        print("user is authenticated")
    print(self.request.user)

“用户已验证”不会打印并
self.request。用户
返回
匿名用户
。因此,我的问题是,为什么request.user没有传递到self.request.user,我如何解决这个问题?

我认为您的问题在于扩展类的顺序,请尝试以下方法:

class InboxView(TemplateView, FolderMixin):
    ...

哥们,太棒了!奇怪的是邮递员把它放在了另一个方向。有没有理由认为订单很重要?我对python非常陌生。当然有:。当您在
InboxView
中使用方法
get\u context\u data
时,您使用的是
FolderMixin
中声明的方法,该方法失败,因为那里没有请求,因为
TemplateView
属性稍后出现,您应该在Django的类之后使用自己的mixin。
class InboxView(TemplateView, FolderMixin):
    ...