Django - Как использовать django-filters(модуль) с рендерингом crispy-forms

Я новичок и все еще учусь, буду благодарен за помощь в этом вопросе. Я создал listview, grid, объекты из моей db и все.

Теперь я хочу создать панель фильтра для выбора/поиска определенных значений в моем списке объектов путем их фильтрации + иметь ее в crispy.

Я скачал и "pip install django-filter (2.4.0)" и django-crispy (forms).

Я уже использую crispy для настройки форм (в основном Modelforms); я создал строку поиска, которая вроде бы работает, но общий дизайн не очень хорош, и мне приходится делать ее на bootstrap. По этой причине я пытаюсь сделать форму фильтра на bootstrap с помощью crispy, но она не работает и a)отображает стандартную форму django; b)ошибка. Похоже, не принимает crispy.

По этой причине: Возможно ли это сделать? Или эти модули не совместимы? Если да, то какова наилучшая практика для этого? Если нет, что я должен сделать вместо этого?

**HTML**

{% extends 'base/base1.html' %}
{% load static %}
{% block content %}

{% load crispy_forms_tags %}


<h3>Log List</h3>

<a class="btn btn-outline-info " href="{% url 'home' %}">Back to homepage</a>

<hr>

<div class="row">
  <div class="col">
    <div class="card card-body">
      <form method="get">
            ****{{ myFilter.form}}****
    */tried also       {{ myFilter.form|crispy}} 
                       {{ myFilter.form.variablefieldhere|as_crispy_field}}** 
        <button class="btn btn-primary" type="submit">
        Search</button>
      </form>
    </div>
  </div>
</div>

<br>

<ul>
    <table class="table table-hover table-light table-striped">
        <thead>
          <tr>

            <th scope="col">Instructor</th>
            <th scope="col">Instruction</th>
            <th scope="col">Rent</th>

          </tr>
        </thead>

        <tbody>
             <tr>
               <caption>Total number of selected Logs: {{ page_obj.paginator.count }}</caption>
               {% for log in myFilter.qs %}
               <th scope="row"><a href="{{ log.get_absolute_url }}">{{ log.variablefieldhere }}</a></th>
               <td>
                  {{ log.variablefieldhere }} 
               </td>
**Filters.py**

import django_filters

from .models import Headfttlog

class logFilter(django_filters.FilterSet):
    class Meta:
        model = Hlog
        fields = {
            'varfliedhere': ['icontains'],
            'varfliedhere': ['icontains'],
            'varfliedhere': ['icontains'],
            'Boolean varfliedhere': ['exact'],

        }
**Forms.py**
*imports
*model import

class Log(ModelForm)
model = Log
exclude = ['slug']
**View.py**
various imports
# Load functions and tools for filter bar
from .filters import logFilter



# List view #

from .models import log
class logListView(LoginRequiredMixin, PermissionRequiredMixin, ListView):
    permission_required = 'var.view_log'
    
    model = log
    paginate_by = 10


    def get_context_data(self, *args, **kwargs):
        context = super().get_context_data(*args, **kwargs)
        context['myFilter'] = logFilter(self.request.GET, queryset=self.get_queryset())
        return context 

Заранее спасибо за помощь!

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