Представление getdata.views.getview не возвращало объект HttpResponse.Вместо этого он вернулся - PullRequest
0 голосов
/ 18 марта 2019

Я пытаюсь сделать форму в Django. Сначала он не создавал объект формы, затем он не сохранял данные, и теперь я получаю «Представление getdata.views.getview не возвращало объект HttpResponse. Вместо этого оно возвращало None». ошибка. Это мой файл views.py

def getview(request):
if request.method == 'POST':
    form1 = ro_input_form(
        request.POST)  # Please use CamelCase when writing Class Name(according to pep8 style guide
    if form1.is_valid():
        form1.origin = form1.cleaned_data['origin']
        form1.destination = form1.cleaned_data['destination']
        form1.timeWindow = form1.cleaned_data['time_window']
        print(form1.origin, form1.destination, form1.time_window)

        form1.save()
else:  # Handling GET request here
    form1 = ro_input_form()
return render(request, 'inputform.html', {'form1': form1})

Это мои формы.py:

from django import forms
from .models import form_input
class ro_input_form(forms.ModelForm):
    class Meta:
        model = form_input
        fields = ('origin', 'destination', 'timeWindow')

Это мой HTML-файл:

                                            <form method="Post">
                                                {% csrf_token %}
                                                {{form1}}
                                                <input type="submit" class="forform" value="sumbit values">

                                            </form>

1 Ответ

1 голос
/ 18 марта 2019

Если ваш отступ верен, то вам нужно обновить представление для обработки GET запроса:

def getview(request):
    form1 = ro_input_form(request.POST or None)
    if request.method == 'POST':
        if form1.is_valid():
            form1.save()
    return render(request, 'inputform.html', {'form1': form1})
...