--Je veux placer un bouton pour effacer tous les list_filters sélectionnés à côté du titre list_filter.
Remplacer "Change_list.html" du modèle
configuration de l'application
C:Project Name
│ db.sqlite3
│ manage.py
│
├─.idea
│
├─Project Name
│ │ authentication.py
│ │ settings.py
│ │ urls.py
│ │ utils.py
│ │ wsgi.py
│ │ __init__.py
│ │
│ ├─locate
│ └─__pycache__
│
├─App Name
│ │ admin.py
│ │ apps.py
│ │ context_processors.py
│ │ forms.py
│ │ models.py
│ │ tests.py
│ │ urls.py
│ │ views.py
│ │ __init__.py
│ │
│ ├─locate
│ ├─migrations
│ │ └─__pycache__
│ ├─templatetags
│ │ │ mytag.py
│ │ │
│ │ └─__pycache__
│ │ mytag.cpython-37.pyc
│ │
│ └─__pycache__
│
├─templates
│ __init__.py
│
└─admin
│ base_site.html
│ index.html
│ __init__.py
│
└─App Name
│ change_form_help_text.html
│ change_list.html ← Ajouter ce fichier
│ __init__.py
│
├─model name1
│ change_form.html
│ __init__.py
│
└─model name2
change_form.html
__init__.py
Remplacer comme suit
Change_list.html
{% extends 'admin/change_list.html' %}
{% load admin_list %}
{% search_form cl %}
{% load i18n %}
{{ block.super }}
{% block filters %}
{% if cl.has_filters %}
<div id="changelist-filter">
<h2>{% trans 'Filter' %} <button id="clear" onclick="location.href=location.href.replace(/\#.*$/, '').replace(/\?.*$/, '');">clear</button></h2>
{% if cl.has_active_filters %}<h3 id="changelist-filter-clear">
<a href="{{ cl.clear_all_filters_qs }}">✖ {% trans "Clear all filters" %}</a>
</h3>{% endif %}
{% for spec in cl.filter_specs %}{% admin_list_filter cl spec %}{% endfor %}
</div>
{% endif %}
{% endblock %}
La publication de list_filter lui-même a été réalisée en réinitialisant l'url qui exclut la requête de recherche de l'url actuelle lorsque le bouton ajouté est cliqué.
Si vous savez comment remplacer le modèle, il est utile de modifier un peu le site d'administration.
Recommended Posts