Как решить проблему пустой страницы после размещения формы?

Я хочу отправить базовую форму в views. Я создал все, что нужно, но когда я отправляю сообщение, оно не возвращает пустую страницу. Это моя форма, а app:reports - та же страница с формой, потому что я хочу вернуть ту же страницу. Мне нужны значения year_one и year_two.

<form  method="post" action="{% url 'app:reports' %}">
    {% csrf_token %}
    <label for="year_one">Select year 1:</label>
    <select id="year_one" name="year_one">
        {% for case in query_trend %}
            <option value="{{case.date_created__year}}"  >{{case.date_created__year}}</option>
        {% endfor %}
    </select>

    <label for="year_two">Select year 2:</label>
    <select id="year_two" name="year_two">
        {% for case in query_trend %}
            <option value="{{case.date_created__year}}">{{case.date_created__year}}</option>
        {% endfor %}
    </select>
    <button onclick="test()">click</button>
</form>

И это мое мнение

if self.request.method == 'POST':
            year_one = self.request.GET.get('year_one')
            year_two = self.request.GET.get('year_two')
            return HttpResponseRedirect('fdm:outstanding_reports')

Что я должен сделать для использования этих значений в представлениях?

Предположим, что метод test() вашей кнопки успешно отправляет форму... Если вы передаете запрос вашему представлению, т.е.

def reports(request):

Тогда вы можете обратиться к размещенным значениям year_one и year_two следующим образом:

    if request.method == 'POST':
        year_one = request.POST.get('year_one')
        year_two = request.POST.get('year_two')

(GET - это когда вы отправляете значения, содержащиеся в URL, например, page?year_1=1975&year_2=1300, POST - когда это происходит в фоновом режиме. Форма обычно использует только один или другой способ, поэтому ваша версия, вероятно, не получала никаких значений. Смущает то, что вы также используете строчную '.get()' для получения значений POST)

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