Summernote 는 입력 폼에서 사용할 수 있는 에디터 라이브러리이다.
django에서 이 라이브러리를 사용하면 손쉽게 텍스트 에디터를 사용 할 수 있다.
일단 pip을 통해서 django-summernote를 설치해준다
#> pip install django-summernote
그리고 settings 파일을 설정해준다.
# settings/common.py
INSTALLED_APP += ['django_summernote']
MEDIA_URL = '/media/'
MEDIA_ROOT = join(BASE_DIR, 'media')
media파일을 지정해 줘야 summernote 에디터를 사용해서 입력 받는 파일들을 처리 할 수 있다.
( 이미지를 사용하려면 pillow도 추가로 설치 해줘야 한다)
그리고 프로젝트의 urls.py도 설정 해야 할 것이 있다.
# project/urls.py
from django.conf import settings
if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
DEBUG가 True이면 개발 환경에서의 설정이고, 이 설정에서는 지정한 media 경로를 사용하겠다는 것.
(실제 배포에서는 장고 내부의 기술로 static에 접근하지 않는다)
이러면 에디터를 쓰기위한 설정은 끝났다.
# forms.py
from django_summernote.widgets import SummernoteWidget, SummernoteInplaceWidget
class SampleForm(forms.ModelForm):
class Meta:
model = Sample
fields = ('foo','bar',)
widgets = {
'foo':SummernoteWidget(),
'bar':SummernoteWidget(),
}
이렇게 폼에서 에디터를 사용하게되면, 템플릿에서 폼을 사용 할 때 에디터를 손쉽게 사용 할 수 있다.
더 많은 사항들은 https://github.com/summernote/django-summernote 이 곳에서 확인 가능하다.
댓글
댓글 쓰기