Рендеринг форм в HMTL с помощью django-easy-select2

Я использую django-easy-select2 для обработки ввода данных в несколько manytomanyfields в модели - под названием Engagement.

Я использую bootstrap и crispy forms для рендеринга формы участия в HTML.

В целом рендеринг работает так, как ожидается/требуется. Однако размеры полей формы для многих данных изначально очень малы и требуют выбора/ввода данных, прежде чем они расширятся. После ввода данных поля расширяются. Но я бы хотел, чтобы эти поля изначально отображались в размере, установленном bootstrap.

Например, я установил bootstrap как col-6, но начальный рендеринг мультомании только col-1 или даже меньше. Когда вводятся данные, поле расширяется до col-6 и не более, что хорошо, но я бы хотел, чтобы поле начиналось с col-6, даже при отсутствии данных.

Ниже приведен соответствующий код.

engagements.view:

class EngagementCreateView(CreateView):
    model = Engagement
    form_class = select2_modelform(Engagement, attrs={'width': 'auto'})  # this sets the widths of the field
    template_name = "engagements/engagement_create.html"

    def form_valid(self, form):
        print(form.cleaned_data)
        return super().form_valid(form)

создайте шаблон помолвки

{% extends 'base.html' %}

{% load crispy_forms_tags %}

{% block content %}

    <h4>{% if form.instance.pk %}Edit engagement{% else %}Create new engagement{% endif%}</h4>

    <div class="form-group">
        <form method="post" novalidate>
            {% csrf_token %}
            <div class="row mt-1">
                <div class="col-6">   # I'm rendering the width of fields here
                    {{ form.date|as_crispy_field }}
                    {{ form.projects|as_crispy_field }}   
                    {{ form.stakeholders|as_crispy_field }}
                    {{ form.ppdds|as_crispy_field }}
                </div>
                <div class="col-6">
                    {{ form.follow_up_date|as_crispy_field }}
                    {{ form.engagement_types|as_crispy_field }}
                    {{ form.engagement_workstreams|as_crispy_field }}
                </div>
            </div>
            <div class="row mt-1">
                <div class="col-lg">
                    {{ form.summary|as_crispy_field }}
                </div>
            </div>

            <br>
            <input class="btn btn-primary" type="submit"
                   value="{% if form.instance.pk %}Save{% else %}Create{%    endif%}">
                    <a class="btn btn-primary" href="../">Cancel</a></p>

        </form>
    </div>
{% endblock %}

Я думаю, что наиболее подходящая часть документации django-easy_select2 находится здесь https://django-easy-select2.readthedocs.io/en/latest/usage.html.

Вернуться на верх