TIL/Python

[Python][Flask]form안에 에디터 CKEditor

탱! 2022. 6. 20. 13:55

CKEditor 란 WSGI을 지원하고 편집기능을 지원하는 에디터의 오픈소스 중 하나로 pip 설치 후 사용할 수 있다.

https://flask-ckeditor.readthedocs.io/en/latest/index.html

 

Flask-CKEditor — Flask-CKEditor 0.2.0 documentation

 

flask-ckeditor.readthedocs.io

설치 후 html안에 원하는 곳에 불러온다.

        {{ ckeditor.load() }}

이러면 필요한 소스들을 CND을 이용해서 사용할 수 있다.

 

대게 Flask_WTF/WTForms 와 같이 사용하곤 하는데

예를 들어 메인 서버에 아래와 같이 불러오면

from flask_wtf import FlaskForm
from flask_ckeditor import CKEditorField
from wtforms import StringField, SubmitField

class PostForm(FlaskForm):
    title = StringField('Title')
    body = CKEditorField('Body')  # <--
    submit = SubmitField('Submit')

.load() 후에 flaskforms안에 요소를 CKEditor값으로 불러오면

아래 처럼 ckekeditor.config() 을 이용해서 그 body에 에디터를 불러올 수 있다.

 <form method="post">
    {{ form.title() }}
    {{ form.body() }}
    {{ form.submit() }}
</form>

 {{ ckeditor.load() }}
 {{ ckeditor.config(name='body') }}
 </body>