Integrating Summernote WYSIWYG Editor in Django

Integrating Summernote WYSIWYG Editor in Django

Summernote is a simple WYSIWYG editor. django-summernote allows you to embed Summernote into Django very handy. Support admin mixins and widgets.

Follow the steps below: 

1) Install the package via pip:

pip install django-summernote

 2) Add django_summernote to INSTALLED_APPS in settings.py. 

INSTALLED_APPS += ('django_summernote', ) 

3) Add django_summernote.urls to urls.py. 

from django.urls import include 
... 
urlpatterns = [
 	... 
	path('summernote/', include('django_summernote.urls')),
 	... 
 ]

4) If you're using Django 3.x with default SummernoteWidget set in your Django settings:

X_FRAME_OPTIONS = 'SAMEORIGIN' 

5) Run database migration:

python manage.py migrate

Usage: 

In forms.py 

from django_summernote.widgets import SummernoteWidget 
class PostCreateForm(forms.ModelForm): 
	class Meta: 
		model = models.Post 
		fields = ( 
			'title', 
			'text', 
			'image', 
		) 
		widgets = { 
			'text': SummernoteWidget(), 
		}

 In your template use safe templatetag: 

{{ post.text|safe }}