TypeError $ не является функцией, Summernote, Django admin add

После выполнения всех инструкций по установке Django для Summernote, я получаю следующую ошибку, когда перехожу на страницу «add» в админке django, чтобы проверить, работает ли редактор:

add/:814 Uncaught TypeError: $ не является функцией at initSummernote_id_content (add/:814:5) at add/:954:5

На вкладке Sources можно узнать, где именно возникает проблема: enter image description here

Похоже, что Jquery не загружается для администратора, что меня очень смущает. В разделе «Сеть» файл jquery является 4-м файлом, загруженным с 200ok.

Проблема заключается в порядке загрузки файлов javascript для админки Django. Чтобы исправить порядок, необходимо:

  1. используйте форму в вашем admin.py для модели:
class ExercisesAdmin(SummernoteModelAdmin):     
    form = ExerciseAdminForm
    summernote_fields = ('content',)
 
  1. в вашем файле forms.py объявите правильный порядок - см. ссылку здесь
class ExerciseAdminForm(forms.ModelForm):
    content = SummernoteTextField()

    class Media:
        js=["admin/js/vendor/jquery/jQuery.js", "studyspot/js/popper.min.js", "studyspot/js/bootstrap.min.js", "summernote/summernote-bs4.min.js",]
        css = {
            'all': get_theme_files(settings.SUMMERNOTE_THEME, 'base_css'),
        }

Примечание: bootstrap и popper должны быть загружены до summernote, а также jquery.

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