Django request.body возвращает данные, но не 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>