Как настроить поле формы в Django для получения данных из запроса?

Изображение к вопросу
  • 13 августа 2023 г. 13:35
Ответы на вопрос 1
В Django для работы с формами можно использовать модуль `forms` и создавать поля формы, которые отображаются как виджеты на веб-странице. Для получения данных из запроса в нужном формате из поля формы, можно использовать поле типа `JSONField`. 

Вот пример, как создать поле формы для получения данных в формате `title: {"ru": "some", "en":"some"}`:

```python
from django import forms

class MyForm(forms.Form):
    title = forms.JSONField()
```

Поле `title` будет отображаться на веб-странице как текстовое поле, в которое можно ввести JSON-строку. В представлении Django вы можете использовать полученные данные из формы для сохранения в базе данных или для дальнейшей обработки.

Если поля уже хранятся в базе данных в виде JSON, то вы можете использовать поле формы типа `CharField` или `JSONField` и передать значение из базы данных в инициализацию формы:

```python
class MyForm(forms.Form):
    title = forms.CharField()

instance = MyModel.objects.get(id=1)
data = {'title': instance.title}
form = MyForm(initial=data)
```

В этом случае в поле `title` будет отображаться значение из базы данных.

При отправке формы данные будут передаваться в виде словаря, где ключом будет имя поля, а значением - введенное значение.
Похожие вопросы