The problem is with the order that javascript files are loaded for Django admin. To fix the order you have to:
class ExercisesAdmin(SummernoteModelAdmin):
form = ExerciseAdminForm
summernote_fields = ('content',)
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",]
Note: bootstrap and popper have to be loaded before summernote as well as jquery. The summernote editor is now displaying but there is no styling. I'm sure there is a way to add the css styling for summernote in Django admin, if anyone knows how, please add your answer.