Features: 1) Refactor autocomplete filter template to use {% block %} structure for better modularity; 2) Include {% block media %} for styles and scripts management.

Fixes: 1) Resolve potential redundancy in script and CSS inclusion.

Extra: Simplify and streamline the template by removing inline `<script>` tags and consolidating structure.
This commit is contained in:
Egor Pavlovich Gorbunov 2025-07-01 19:28:03 +03:00
parent b70f5601e7
commit d4156f88ab

View file

@ -1,14 +1,7 @@
{% extends "admin/filter.html" %}
{% load i18n static %} {% load i18n static %}
<link rel="stylesheet" {% block choices %}
href="{% static 'admin/css/vendor/select2/select2.css' %}"/>
<link rel="stylesheet"
href="{% static 'admin/css/autocomplete.css' %}"/>
<script src="{% static 'admin/js/jquery.init.js' %}"></script>
<script src="{% static 'admin/js/vendor/select2/select2.full.js' %}"></script>
<script src="{% static 'admin/js/autocomplete.js' %}"></script>
<div class="filter-autocomplete"> <div class="filter-autocomplete">
<select <select
name="{{ spec.lookup_kwarg }}" name="{{ spec.lookup_kwarg }}"
@ -26,9 +19,15 @@
{% endif %} {% endif %}
</select> </select>
</div> </div>
{% endblock %}
<script> {% block media %}
(function($) { {{ block.super }}
$('.admin-autocomplete').djangoAdminSelect2(); <link rel="stylesheet"
})(django.jQuery); href="{% static 'admin/css/vendor/select2/select2.css' %}"/>
</script> <link rel="stylesheet"
href="{% static 'admin/css/autocomplete.css' %}"/>
<script src="{% static 'admin/js/vendor/select2/select2.full.js' %}"></script>
<script src="{% static 'admin/js/autocomplete.js' %}"></script>
{% endblock %}