Django Form - метод POST не распознается как POST в представлениях

В моем проекте django я пытаюсь создать форму, к которой пользователь будет обращаться по определенному url.

При нажатии на url пользователь будет автоматически перенаправлен на pager_id.

Между нажатием пользователем на указанный url и перенаправлением на page_id, форма будет передана в фоновом режиме, без какого-либо шаблона.

Небольшая проблема, форма не проходит if request.method == "POST":.

Я знаю это, потому что в консоль выводится this is not a post request.

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

Обычно я указываю что-то вроде:

<form "method="POST">
    {% csrf_token %}
</form>

Но на этот раз я этого делать не буду. Все обрабатывается в представлении.

Вопрос:

Предполагая, что именно это является причиной проблемы: требует ли Django использовать шаблон для отображения формы? Или есть способ указать method="POST" другим способом? Или есть что-то еще, чего я не вижу?

views.py

   def function(request, page_id):
            form = myform(request.POST)
            if request.method == "POST":
                print('this is a post request')    
                if form.is_valid():
                    data = form.save(commit=False)
                    ...
                    data.save()
                    return redirect('page', page_id=page_id)
            else:
                form = myform()
                print('this is not a post request') #<-- this is what gets printed in the console
        else:
            print('Come back later!')
    
    return redirect('page', page_id=page_id) 

Это должно решить проблему :-

   <form method="POST">
   {% csrf_token %}
   </form>
Вернуться на верх