Каков правильный способ добавления текстовых областей в Django?

-4

Я написал код python, который анализирует два текстовых источника и сравнивает их.

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

Редактировать:

Я написал этот вопрос, когда я просто выдумывал Django, так что простите меня, если это будет сбивать с толку. Но все начинают где-то. Я не могу удалить вопрос, поскольку уже сделаны взносы. Курсы YouTube оказались полезными при изучении основ, если начинающие натыкаются на это.

спросил(а) 2021-01-25T16:32:49+03:00 5 месяцев назад
1
Решение
63

Вы используете объект формы. Django имеет объекты формы (https://docs.djangoproject.com/en/2.0/topics/forms), которые берут модель и переводят ее в элементы html. Поэтому я предполагаю, что вы реализуете модель, но я хочу подчеркнуть, что это не то, что происходит с технической точки зрения. Лучше сказать, что вы реализуете формы. Причина, по которой я так сильно подчеркиваю, заключается в том, чтобы вы понимали, что происходит на самом деле, чтобы у вас не было недоразумений, которые в конечном итоге стоили вам в ясности и удобочитаемости кода.

Поэтому, чтобы ответить на ваш вопрос, вы можете реализовать формы django, чтобы сделать это очень легко. Способ, которым вы его реализуете, зависит от ваших моделей и того, как они разработаны, поскольку формы используют модели для создания правильных элементов формы html. Если вы имеете дело с одной моделью, которая будет создана экземпляром формы, создайте модельную форму. Это приведет к вводу формы и создаст экземпляр модели. Если вы имеете дело с одной формой, использующей несколько моделей, используйте общую форму. В этом случае вам придется написать свой собственный метод сохранения, который выполняет фактическую логику формы.

Еще одна вещь, которую нужно добавить... Независимо от того, ваш конечный результат всегда будет виджетами в HTML в конце. Формы Django переводят модельный класс в элемент формы с элементами ввода. Если вы не использовали формы Django, вы все равно будете делать перевод, но вам придется делать это с нуля.

Надеюсь, это поможет, и я правильно понял ваш вопрос.

ответил(а) 2021-01-25T16:32:49+03:00 5 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема