使用django,我通過Google對用戶進行身份驗證。我收到初始請求令牌&將用戶重定向到谷歌進行身份驗證。之後,谷歌將用戶重定向回我的網站(使用我提供的redirect_url)。Django request.user爲空
此時request.user.id
是None
所以request.user.username
爲什麼會發生這種情況?我需要用戶ID輸入access_tokens(谷歌發送給我的)到數據庫中。
在什麼情況下,Django中的request.user
對象是空的?
UPDATE1:,當我從谷歌作爲http://mywebsite.com/lserv?s=goog
控制又回到我的Django的看法功能,不過在Django給我request.user
對象的用戶作爲一個沒有用戶名或ID匿名用戶重定向的URL模式。爲什麼?
UPDATE2: 這一切對python manage.py runserver
現在正在運行...
UPDATE3:任何人都面臨着anythn與此類似?基本上,沒有理由request
中的user
自動清除&我被指定爲Anonymous
用戶。所有這些都發生在來自用戶的url請求(來自瀏覽器)之間。爲什麼?
是否有通過谷歌認證的應用程序?您需要提供更多信息。從你的問題我沒有看到谷歌用戶帳戶與django用戶有什麼關係。您需要將Google用戶本地存儲,並將fk存儲到django用戶。 – pyeleven 2011-03-31 09:11:55
如果您可以訪問屬性,那麼它不是空的。 – 2011-03-31 09:12:12
@ignacio我可以訪問'request.user'但它被分配給匿名用戶 - '(PDB)p request.user .__類__() (PDB) p request.user.id 無 (PDB)p request.user.username ' ' –
2011-03-31 09:14:05