使用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