Данные внутри request.data не видны в Django Rest Framework
Я использую DRF для CRUD операций. В моем проекте есть представление на основе функции, принимающее request
в качестве параметра. Я знаю о том, что request.data
применим только для DRF-специфических requests
. Я также знаю, что это QueryDict
.
Я принимаю данные из HTML-формы в виде имени, фамилии, фамилии и города студента. Но когда я печатаю request.data (aka QueryDict), я получаю только csrfmiddlewaretoken
и его значение и обнаруживаю, что другие пары ключ-значение отсутствуют. Где мои другие данные (т.е. фамилия, имя и город)
e.g {"csrfmiddlewaretoken": "JSACyyvAPqNcCPXNZQsNzPcca7ah3N7arkhFM9CuqpNammk6f43wQ4GyGg5QwU6w"}
В нем должны были содержаться и другие поля данных!
В Django, когда вы выводите HTML-форму вручную, поля ввода должны иметь атрибут "name", чтобы правильно обрабатываться при отправке формы. Атрибут "name" используется для идентификации поля ввода на стороне сервера и связывания его с соответствующими данными в запросе. Без атрибута "name" Django не будет знать, какому полю формы присвоить отправленное значение, и данные не будут обработаны правильно.
Например, рассмотрим следующую HTML-форму:
<form action="/submit" method="post">
<input type="text" name="username">
<input type="password" name="password">
<input type="submit" value="Submit">
</form>
В данном примере атрибутами "name" для полей ввода являются "username" и "password". Когда форма будет отправлена, Django получит отправленные данные и свяжет значение поля ввода "username" с атрибутом "username", а значение поля ввода "password" - с атрибутом "password".
Итак, в вашем случае вам нужны атрибуты "name" для всех ваших 3 тегов ввода.