2017-03-08 9 views
0

ユーザープロファイルをチェックするミドルウェアがあります。認証ユーザーにプロファイルがない場合は、ユーザープロファイルにリダイレクトします。私のブラウザはエラーThe page isn’t redirecting properlyを表示します。django-ページが正しくリダイレ​​クトされていない

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

私の中に 'HttpResponseRedirect'あなたは[' reverse'](https://docs.djangoproject.com/en/dev/ref/urlresolvers/#django.urls.reverse)関数を使用するべきであると信じています。それはそれを行う必要があります。 –

答えて

3

無限のリダイレクトループがあるようです。リクエストパスを確認し、ユーザが/accounts/profile/にアクセスしようとしている場合はリダイレクトしないでください。

class Check(MiddlewareMixin): 
    def process_request(self, request): 
     if request.user.is_authenticated() and request.path != '/accounts/profile/': 
      ... 
+0

タンク私の兄弟 – Ehsan

関連する問題