Как заставить Django использовать select2 из CDN вместо версии локального администратора? - PullRequest
1 голос
/ 20 июня 2020

Я пытаюсь создать веб-сайт, используя Django. Я использовал select2 как один из моих компонентов. Моя проблема в том, что при рендеринге шаблона Django использует select2 из admin, который находится здесь: Щелкните здесь, чтобы go получить код GitHub . Я хочу использовать select2, загруженный из CDN, потому что он новее, а также хочу передать дополнительные параметры.

Вот мой код (я удалил ненужные части, чтобы упростить его):

core / templates / core / base. html:

<!DOCTYPE html>
{% load static %}
<html>
<head>
    <link href="https://cdn.jsdelivr.net/npm/select2@4.1.0-beta.1/dist/css/select2.min.css" rel="stylesheet"/>
    <script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-beta.1/dist/js/select2.min.js"></script>
</head>
<body>
{% block content %}
{% endblock %}
{% block scripts %}
{% endblock %}
</body>
</html>

app_name / templates / app_name / template_name. html:

{% extends 'core/base.html' %}
{% block content %}
    <form method="post">
        {% csrf_token %}
        <div class="form-group form-group-lg">
            <div class="input-group input-group-lg col-12">
                <select id="id_select2" class="form-control selectpicker" name="options[]"
                        multiple="multiple" data-live-search="true">
                    <option data-tokens="123" value="456">Test</option>
                </select>
            </div>
        </div>
    </form>
{% endblock %}
{% block scripts %}
    <script>
        $(document).ready(function () {
            $('#id_select2').select2();
        });
    </script>
{% endblock %}

Я знаю, что эта проблема вызвана наличием двух функций с одинаковыми именами и параметрами.

1 Ответ

1 голос
/ 20 июня 2020

Я рекомендую вам поместить импорт select2 (скрипта) в тело html, непосредственно перед вашим собственным тегом скрипта

: D

...