Valueerror. не вернул httpresponse

я получаю эту ошибку

The view goal.views.register_course didn't return an HttpResponse object. It returned None instead.

я не знаю, в чем моя вина.

models.py

from django.db import models

class RegisterForCourse(models.Model):
   first_name = models.CharField(max_length=20)
   last_name = models.CharField(max_length=20)
   subject = models.CharField(max_length=12)
   phone = models.CharField(max_length=13)

   def __str__(self):
     return self.subject

forms.py

from django import forms
from .models import RegisterForCourse

class UserRegisterForCourse(forms.ModelForm):
   class Meta:
     model = RegisterForCourse
     fields = ['first_name', 'last_name', 'subject', 'phone']

view.py

def register_course(request):
if request.method == 'POST':
    form = UserRegisterForCourse(request.POST)
    if form.is_valid():
        form.save()
        subject = form.cleaned_data.get('subject')
        messages.success(request, f'You have been successfully registered for {subject}')
        return redirect('index')
else:
    form = UserRegisterForCourse()
    return render(request, 'goal/index.html', form)

в шаблоне

<form action="{% url 'register' %}" method="post" accept-charset="utf-8">
        {% csrf_token %}
        <input type="text" placeholder="First Name" required>
        <input type="text" placeholder="Last Name" required>
        <input type="text" placeholder="Subject" required>
        <input type="text" placeholder="Phone Number" required>
        <button type="submit" class="btn" id="btn">Submit</button>
    </form>

вы можете помочь мне исправить это? Заранее спасибо!

Почему-то каждый день люди совершают одну и ту же ошибку. Что, если кто-то делает запрос POST, но form.is_valid() удерживает нет? В этом случае ваше представление ничего не возвращает, поэтому вам необходимо определить сценарий else для if form.is_valid().

Willem Van Onsem 31.10.2018 14:07

Прежде чем задать вопрос, просмотрите форум, чтобы найти похожие вопросы.

Piyush Das 31.10.2018 15:31

Даниэль Роземан и Пиюш Дас, пожалуйста, не говорите, не зная условия. Я не прошу помощи перед попыткой. Я применил ответ до того, как вы предоставили, но он не сработал, поэтому я попросил о помощи на случай, если кто-то из вас поможет

Азиз Азиз 31.10.2018 17:03
0
3
27
0

Другие вопросы по теме