Найти - Пользователи
Полная версия: как придать Джанго форме красивый внешний вид?
Начало » Python для новичков » как придать Джанго форме красивый внешний вид?
1
gtlhbkkj
почитываю Джанго документацию.
https://docs.djangoproject.com/en/3.0/topics/forms/

Задал класс форм ContactForm


В шаблоне вывел его в броузер


Получился неформатированный кал


Как можно эту форму отформатировать в пространстве, цвете, размере шрифтов ?
благодарю
py.user.next
gtlhbkkj
Как можно эту форму отформатировать в пространстве, цвете, размере шрифтов ?
Надо записать в ней классы CSS прямо в шаблоне, а потом сделать снаружи CSS-файлы.
Вообще, это непростая вещь, там много всяких аспектов. Но обычно для оформления используют div и span блоки, в которые подключается форматирование через CSS. Таким образом ты даже не в саму форму пишешь класс и не в поле ввода пишешь класс, а пишешь классы у блоков div, в которые вложены сами формы и в которые вложены сами отдельные поля ввода. А бывает и туда надо класс писать (в блок), и туда (в форму, которая в блоке).

Для таких вещей открой какой-нибудь сайт вроде https://www.youtube.com , потом нажми в браузере F12 или открой консоль браузера другим способом и там перейди в инспектор, где видно все узлы документа. И там уже посмотришь, как они пакуют контент страницы в структуру из разных div'ов и span'ов. Практически каждая шпунька там упакована в свой блок только для того, чтобы потом просто отформатировать его через CSS-стили, которые лежат вообще в другом месте и подгружаются вверху документа.

В общем, Django не научит тебя верстать. Для этого надо изучать HTML, CSS и принятые концепции вёрстки (которых тоже там не одна).
gtlhbkkj
py.user.next
Надо записать в ней классы CSS прямо в шаблоне, а потом сделать снаружи CSS-файлы.
то что форматирование получается HTMLом это понятно.
не понимаю следующее

Задал класс форм ContactForm


В шаблоне вывел его в броузер


форма имеет, например, 4 поля.
я бы хотел, например, вывести поле 1 слева наверху одним цветом и одним шрифтом
поле 2 - например справа другим шрифтом другим цветом
и так далее

ясно что этот результат можно получить, если не использовать джанго forms, а всю красоту в шаблоне прописать для каждого поля в отдельности или для групп полей.

А можно ли каким-то образом используя класс джанго forms получить такой же результат?
Я ведь передаю в шаблон свою форму в таком виде {{ form }} и Джанго выводит ее в своем формате по умолчанию.
откуда шаблон будет знать в каком виде я бы хотел видеть эту форму?
Правильно ли для получения красивой формы передавать шаблон форму в таком виде {{ form }}?
Как мне правильно задать запрос в поисковике, чтобы попасть на разьяснение этой темы?
благодарю вас
gtlhbkkj
наверное это отвечает на мой вопрос?
“Django Forms Bootstrap”
https://django.fun/tutorials/django-i-formy-bootstrap-4/
FishHook
gtlhbkkj
Я обычно определял свой шаблон для форм в отдельном файле, а потом инклюдил этот файл с параметром
как-то так

form_template.html
 <form>
  {% for field in form %}
      ....
<form>

datail_view.html
 {% include "form_template.html" with form=form %}
gtlhbkkj
FishHook
Я обычно определял свой шаблон для форм в отдельном файле, а потом инклюдил этот файл с параметром
как-то так
благодарю вас.
уже посмотрел Crispy
https://django-crispy-forms.readthedocs.io/en/latest/crispy_tag_forms.html
похоже что его сделали для особо тупых, чтобы они особо не напрягали мозги
должно мне подойти
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB