我有一个检查用户个人资料的中间件。如果auth用户没有配置文件,则重定向到用户配置文件。我的浏览器显示错误The page isn’t redirecting properly
。
class Check(MiddlewareMixin):
def process_request(self, request):
if request.user.is_authenticated():
user = request.user
try:
profile = Profile.objects.get(user_id = user)
if profile:
pass
except ObjectDoesNotExist:
return HttpResponseRedirect('/accounts/profile/')
我正在使用django-allauth
。
答案 0 :(得分:5)
听起来你可能有一个无限的重定向循环。检查请求路径,如果用户尝试访问/accounts/profile/
,则不要重定向。
class Check(MiddlewareMixin):
def process_request(self, request):
if request.user.is_authenticated() and request.path != '/accounts/profile/':
...
答案 1 :(得分:0)
确保您使用的是“正确”视图,就我而言,我使用的是:
视图
class Blog_View(View):
model = Blog
template_name = 'blog.html'
而不是
列表视图
class Blog_View(ListView):
model = Blog
template_name = 'blog.html'