2 回答

TA貢獻(xiàn)1844條經(jīng)驗(yàn) 獲得超8個(gè)贊
只需進(jìn)行一些更改即可:)
class LastLoginInfo(MiddlewareMixin):
def process_request(self, request):
if request.user.is_authenticated:

TA貢獻(xiàn)1878條經(jīng)驗(yàn) 獲得超4個(gè)贊
首先,你的方法缺少參數(shù)self。
def process_request(self, request):
如果這不能解決問題,那么我相信這里的問題是中間件的排序:
您應(yīng)該確保您的中間件列在任何身份驗(yàn)證中間件之后。
否則,這個(gè)語句永遠(yuǎn)不會被捕獲
if request.user.is_authenticated():
例如,如果您使用django.contrib.auth.middleware.AuthenticationMiddleware,則需要以下內(nèi)容:
MIDDLEWARE = [
...
'django.contrib.auth.middleware.AuthenticationMiddleware'
'user.middleware.LastLoginInfo', # this must come AFTER auth middleware
...
]
添加回答
舉報(bào)