【发布时间】:2015-09-24 05:01:35
【问题描述】:
我安装了 django-lazysignup 并且现在正面临 User.is_authenticated() 返回 True 的挑战,因为不是实际上经过身份验证的用户,而是惰性注册用户。我可以使用自己的函数更新代码中对 User.is_authenticated() 的任何检查。然而,像 django-allauth 这样的其他包,检查这个方法来确定用户是否已经登录,并从尝试到达登录页面重定向。
class RedirectAuthenticatedUserMixin(object):
def dispatch(self, request, *args, **kwargs):
self.request = request
if request.user.is_authenticated():
redirect_to = self.get_authenticated_redirect_url()
response = HttpResponseRedirect(redirect_to)
return _ajax_response(request, response)
...
是否有不需要在我包含的每个包中替换 is_authenticated() 的建议?似乎他们中的大多数人都希望它以一种特定的方式运行,而 django-lazysignup 完全颠覆了它。我可以用新的 is_authenticated() 方法修补 User 模型吗?如果可能,我将在哪里执行此操作以将其附加到页面请求?
【问题讨论】:
标签: python django django-allauth monkeypatching