Ошибка формы Django не возвращала объект HttpResponse при вводе ошибки в форму регистрации - PullRequest
1 голос
/ 20 октября 2019

Все работает отлично, кроме случаев, когда вы неправильно заполняете форму. Например 2 разных пароля. Я ценю, что этот вопрос похож на этот , но я считаю, что он отличается. На мой взгляд, нет этой проблемы. Я перепробовал все, что видел в каждом другом посте, и это не работает. Также я почти уверен, что этот код работал и по какой-то причине сейчас не работает.

Это ошибка:

raise ValueError("The view %s.%s didn't return an HttpResponse object." % (callback.__module__, view_name))
ValueError: The view main.views.home didn't return an HttpResponse object.

Это представление

def reg(request):    
    if request.method =='POST':        
        form = MyRegistrationForm(request.POST)
        if form.is_valid():
            form.save()
            username= request.POST.get('username','')
            email= request.POST.get('email','')
            subject = 'Hi {0} Welcome to blabla'.format(username)
            msg="Hi {0},".format(username)
            msg=msg+settings.WELCOME_EMAIL
            message = msg

            recipients = ['info@blabla.com']
            if email:
                recipients.append(email)            

            send_mail(subject, message, 'info@blabla.com', recipients, fail_silently=False)
            return HttpResponseRedirect('thank-you')
    else:
        form = MyRegistrationForm()

    return render(request, 'reg.html', {'form': form})
...