SummerNote

Python

Summernote(WYSIWYGエディタ)

参考URL:https://zerofromlight.com/blogs/detail/51/

※Summernoteを利用せず作りたい場合は下記URLを参考にすること

しかし、プレビュー画像が表示されず、imgタグのコードが載るだけなので使いずらい

https://blog.narito.ninja/detail/142
https://blog.narito.ninja/detail/138
settings.py
INSTALLED_APPS = [ ‘django_summernote’, ]SUMMERNOTE_CONFIG = {    ‘summernote’: {        ‘height’: ‘1000’,        ‘width’: ‘90%’,    }}
pj/pj/urls.py
urlpatterns = [ path(‘admin/’, admin.site.urls), path(‘’, include(‘app.urls’)), path(‘summernote/’, include(‘django_summernote.urls’)),]

管理サイトで表示させるために、「admin.py」にてクラス定義する

admin.py
from django_summernote.admin import SummernoteModelAdminclass AppAdmin(SummernoteModelAdmin): summernote_fields = ‘__all__’admin.site.register(App, AppAdmin)

自作フォームにもsummernoteを反映させるため、forms.pyのwidgets部分を追記する

forms.py
from django_summernote.widgets import SummernoteWidgetclass AppForm(forms.ModelForm): class Meta: model = App fields = (‘title’, ‘text’) widgets = { ‘text’: SummernoteWidget(), }

変更を反映させるため、django-summernoteをインストールしマイグレートする

管理サイトに移動すると「DJANGO SUMMERNOTE」部分が追加される

~/pj(ローカル環境の場合)
$pip3 install django-summernote$python manage.py migrate

ローカル環境ではなくHerokuの場合に上記コマンドを実行すると

「ModuleNotFoundError: ‘django_Summernote’」というエラーが発生する

pip installしてもローカルPCにしかインストールされない

requirements.txtに「django-summernote==0.8.20.0」を記述すること

また、マイグレートしないと管理サイトのattachmentをクリックしたとき、

“django_summernote_attachment” does not existのエラーが発生する

~/pj(Herokuの場合)
$pip install django-summernote$pip freeze > requirements$git add .$git commit -m “summer”$git push heroku main$heroku run python manage.py migrate

heroku run python manage.py migratesしようとすると、

‘django_summernote’ have changes~~~ になる場合は、

https://stackoverflow.com/questions/28598676/django-heroku-error-your-models-have-changes-that-are-not-yet-reflected-in-a-mi

を参照すること

BACK