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 можно узнать, где именно возникает проблема:
Похоже, что Jquery не загружается для администратора, что меня очень смущает. В разделе «Сеть» файл jquery является 4-м файлом, загруженным с 200ok.
Проблема заключается в порядке загрузки файлов javascript для админки Django. Чтобы исправить порядок, необходимо:
- используйте форму в вашем admin.py для модели:
class ExercisesAdmin(SummernoteModelAdmin):
form = ExerciseAdminForm
summernote_fields = ('content',)
- в вашем файле 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.