django.jQuery $ не является функциональным сообщением - PullRequest
1 голос
/ 24 сентября 2019

в моем проекте django я хотел бы очистить значение поля на основе события в другом поле в форме добавления / редактирования администратора django.я вставляю в admin / change_form.html мой вызов js:

{{ block.super }}
    <script type="text/javascript" src="{% static 'js/admin.js' %}"></script>
    {{ media }}
{% endblock %}

, затем мой admin.js:

(function($) {
    $(document).ready(function() {
        $("select[name='main_id']").change(function() {
            $("select['test_id']").val('');
        });
    });
})(django.jQuery);

, но когда я открываю страницу django-admin в консоли iget:

Uncaught TypeError: $ не является функцией

в строке "$ (document) .ready (function () {".

Кто-то может помочь мне с этой ошибкой?

Огромное спасибо заранее

Ответы [ 2 ]

2 голосов
/ 24 сентября 2019

Давайте попробуем вставить скрипт jQuery раньше?

{{ block.super }}
    <script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous" defer></script>
    <script type="text/javascript" src="{% static 'js/admin.js' %}" defer></script>
    {{ media }}
{% endblock %}
2 голосов
/ 24 сентября 2019

Используйте класс Media в вашем файле admin.py следующим образом:

class Media:
    js = (
        '//ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js',  # jquery
        'js/admin.js',       # project static folder
    )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...