Поисковый выпадающий список с хрустящей формой в Django

Кто-нибудь знает, как добавить выпадающее поле с возможностью поиска в форму, использующую crispy?

Вот код :

views.py

class GroupMemberPermissionUpdateView(UpdateView):
    
    model = AadGroupmember
    fields = ['id_aadgroup','id_aaduser']
    template_name = 'modify_layout.html'
    success_url = lazy(reverse, str)("permissions_groupmembers")

modify_layout.html

{% extends 'layout.html' %}

{% load crispy_forms_tags %} 

{% block content %}

<div class="container">
    <div class="row justify-content-center">
      <div class="col-8">
        <h1 class="mt-2">Form for Update</h1>
        <hr class="mt-0 mb-4">


  <form method="POST" enctype="multipart/form-data">
    <!-- Security token -->
      {% csrf_token %}
 
    <!-- Using the formset -->
    {{ form |crispy}} 

      <button type="submit" class="btn btn-primary">Submit</button>
 </form>

    </div>
  </div>
</div>

{% endblock %}

У меня проблемы, так как я использую crispy и bootstrap v.5.2 для форм. Спасибо !

Для решения этой проблемы вы можете использовать библиотеку deselect.js. Получите CDN этой библиотеки и добавьте ее в соответствующий файл, например base.html или layout.html

{% extends 'layout.html' %}

{% load crispy_forms_tags %} 

{% block content %}

<div class="container">
    <div class="row justify-content-center">
      <div class="col-8">
        <h1 class="mt-2">Form for Update</h1>
        <hr class="mt-0 mb-4">


  <form method="POST" enctype="multipart/form-data">
    <!-- Security token -->
      {% csrf_token %}
 
    <!-- Using the formset -->
    {{ form |crispy}} 

      <button type="submit" class="btn btn-primary">Submit</button>
 </form>

    </div>
  </div>
</div>

<script>

    dselect(document.querySelector('#id_dropdown_name'), {

        search: true
    });

</script>

{% endblock %}

Чтобы получить id вашего выпадающего списка, вы можете просмотреть страницу, django создает id для html, используя имя поля модели, например, если имя вашего выпадающего списка - countries, то id в форме будет id_countries.

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