Только request.body в Django содержит данные (не request.POST)

Я использую формы в Django и пытаюсь получить данные обратно, используя request.POST, но это возвращает мне пустой словарь: <QueryDict: {}>. Однако при использовании request.body я получаю необработанные данные. Как я могу получить данные из request.POST также, потому что я не хочу работать с необработанными данными. Консольный вывод операторов печати помещен в комментарии рядом с ними.

forms.py

class NameForm(forms.Form):
    first_name = forms.CharField(label='First name:', max_length=100)
    last_name = forms.CharField(label='Last name:')

views.py

@csrf_exempt
def blank(request):
    form = NameForm()
    print(f"request.body: {request.body}") # request.body: b'first_name=Adam&last_name=Smith'
    print(f"request.POST: {request.POST}") # request.POST: <QueryDict: {}>

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

blank.html

<!DOCTYPE html>
<html lang="en">
    <head>
    </head>
    <body>
        <form action="" method="post">
            {{ form }}
            <input type="submit" value="Submit">
        </form>
    </body>
</html>

Получение данных из форм django

form = NameForm(request.POST or None)
    if form.is_valid():
        first_name= form.cleaned_data.get("first_name")
        last_name= form.cleaned_data.get("last_name")
Вернуться на верх