Использование хрустящего в django для изменения размера поля - PullRequest
0 голосов
/ 17 мая 2019

У меня есть очень простая форма для моего шаблона.Я хотел бы изменить его размер. enter image description here

Как вы можете это сделать?добавив виджет в мой файл forms.py или добавив определенный класс в мой шаблон?

Мой шаблон:

              <form method="POST">
                {% csrf_token %}
                <div class="form-row">
                  <div class="form-group col-md-12 mb-0">
                    {{ basic_form.choices_product|as_crispy_field }}
                  </div>
                </div>
                <button type="submit" class="btn btn-lg btn-block btn-danger">Wyszukaj <i class="fas fa-heart fa-lg"></i></button>
              </form>

Я искал информацию в интернете, но не смогупомогло.Будем благодарны за любую помощь.

Я использую Bootstrap 4, Django 2 +.

1 Ответ

0 голосов
/ 17 мая 2019

Когда ваш шаблон оценивается, переменная, указанная между вашим {{...}}, будет заменена элементом input в HTML DOM. Вы хотите визуализировать этот элемент «input» с помощью класса Bootstrap 4 «form-control-lg» или атрибута стиля, такого как «line-height», который изменит высоту элемента.

crispy-forms позволяет вам делать все это из forms.py

В частности, вы можете изменить способ отображения полей формы с помощью crispy-форм, используя класс Layout из модуля crispy_forms.layout . Полная информация дана здесь в документах по хрустящим формам.

В вашем случае вам необходимо (1) добавить FormHelper к вашей форме; (2) Добавьте макет к вашему помощнику; и (3) Используйте объект макета поля для установки атрибутов в любом поле.

Таким образом, вы можете изменить forms.py следующим образом:

from crispy_forms.helper import FormHelper
from crispy_forms.layout import Layout, Field

from django import forms

class BasicForm(forms.Form):
     [...] # Define your fields here
     def__init__(self, *args, **kwargs):
            # Add a FormHelper
            self.helper = FormHelper()
            # Add a layout to your helper
            self.helper.layout = Layout(
                # Use the Field layout object to set attributes on 
                # choices_product field. type="text" should be there by
                # default if you have used a CharField or TextField.
                Field(
                    'choices_product', css_class="form-control form-control-lg", id="exampleInputSize3", placeholder=".form-control-lg",
                )
            )
        super(BasicForm, self).__init__(*args, **kwargs)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...