首页 > 解决方案 > Django:ERR_TOO_MANY_REDIRECTS

问题描述

ProfileCreateFormView当用户需要被重定向到以便填写表格时,我的代码中不断出现此错误。我尝试了几种浏览器,甚至是隐身模式,但还是一样。

此页面无法正常工作 127.0.0.1 将您重定向了太多次。尝试清除您的 cookie。ERR_TOO_MANY_REDIRECTS

我正在使用 Django 2.1 和 python 3.7

class LoginFormView(auth_views.LoginView):

    template_name = 'users/login.html'

    def get_success_url(self):
        url = reverse_lazy(
            'users:profile', kwargs={'pk': self.request.user.id})
        return url

class ProfileDetailView(LoginRequiredMixin, DetailView):

    template_name = 'users/profile.html'

    def get_queryset(self):
        qs = models.Profile.objects.all()
        return qs

    def dispatch(self, request, *args, **kwargs):
        try:
            self.object = self.request.user.profiles
        except ObjectDoesNotExist:
            return redirect(reverse_lazy('users:create_profile'))
        return super().dispatch(request, *args, **kwargs)


class ProfileCreateFormView(LoginRequiredMixin, FormView):

    template_name = 'users/create_profile.html'
    form_class = forms.ProfileForm

网址.py

app_name = 'users'

urlpatterns = [
    path('profile/<pk>/', views.ProfileDetailView.as_view(), name='profile'),
    path('profile/create-profile/', views.ProfileCreateFormView.as_view(), name='create_profile'),
]

标签: pythondjangopython-3.xdjango-views

解决方案


推荐阅读