Невозможно выполнить условное перенаправление из представления на основе класса Django

Я пытаюсь перенаправить пользователя, который уже зарегистрировался, на другое представление. вот код для views.py

Однако, когда qs.exists() = true, я получаю ошибку 'Представление Lpage.views.homeview не вернуло объект HttpResponse. Вместо этого оно вернуло None.'

Я новичок, прочитал документацию, но не могу найти, где я ошибаюсь. Спасибо

    from django.shortcuts import render, redirect
    from django.views import View
    from Lpage.forms import SubscriberEntryForm
    from Lpage.models import Subscriber


   class homeview(View):

      def get(self,request):
         msg = request.session.get('msg', False)
         if(msg):
            del(request.session['msg'])
         return render(request,'Lpage/index.html')

   def post(self, request):
       form = SubscriberEntryForm(request.POST or None)
       if form.is_valid():
           obj = form.save(commit=False)
           qs = Subscriber.objects.filter(email__iexact=obj.email)
           if qs.exists():                
               return redirect('messageview')
           else:
               obj.save()
               request.session['msg'] = "msg"
               return redirect(request.path)


  def messageview(request):
     return render(request,'Lpage/messages.html',{})

redirect ожидает, что вы передадите URL, но вы дали ему messageview, который на самом деле является классом представления.

Так что вам нужно дать redirect URL messageview.

Вернуться на верх