flask 富文本编辑器(flask 22)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了flask 富文本编辑器(flask 22)相关的知识,希望对你有一定的参考价值。
参考技术Afrom flask_ckeditor import CKEditor, upload_success, upload_fail
app = Flask( name )
ckeditor=CKEditor(app)
app.config[\'CKEDITOR_SERVE_LOCAL\'] = True
app.config[\'CKEDITOR_FILE_UPLOADER\'] = \'upload_for_ckeditor\'
app.config[\'CKEDITOR_PKG_TYPE\'] = \'standard\' #basic,full
app.config[\'CKEDITOR_LANGUAGE\']=\'zh-cn\'
@app.route(\'/ckeditor\', methods=[\'GET\', \'POST\'])
def integrate_ckeditor():
form = RichTextForm()
if form.validate_on_submit():
title = form.title.data
body = form.body.data
flash(\'Your post is published!\')
return render_template(\'post.html\', title=title, body=body)
return render_template(\'ckeditor.html\', form=form)
@app.route(\'/upload-ck\', methods=[\'POST\'])
def upload_for_ckeditor():
f = request.files.get(\'upload\')
if not allowed_file(f.filename):
return upload_fail(\'Image only!\')
f.save(os.path.join(app.config[\'UPLOAD_PATH\'], f.filename))
url = url_for(\'get_file\', filename=f.filename)
return upload_success(url, f.filename)
from flask_ckeditor import CKEditorField
class RichTextForm(FlaskForm):
title = StringField(\'Title\', validators=[DataRequired(), Length(1, 50)])
body = CKEditorField(\'Body\', validators=[DataRequired()])
submit = SubmitField(\'Publish\')
% extends \'base.html\' %
% from \'macros.html\' import form_field %
% block content %
<h2>Integrate <a href="https://ckeditor.com">CKEditor</a>
with <a href="https://github.com/greyli/flask-ckeditor">Flask-CKEditor</a>
</h2>
<form method="post">
form.csrf_token
form_field(form.title)
form_field(form.body)
form.submit
</form>
% endblock %
% block scripts %
super()
ckeditor.load()
ckeditor.config(name=\'body\')
% endblock %
% extends \'base.html\' %
% block title % title % endblock %
% block head %
super()
ckeditor.load_code_theme()
% endblock %
% block content %
<h1> title </h1>
<p> body|safe </p>
% endblock %
TinyMCE Python Flask 脚本标签问题
【中文标题】TinyMCE Python Flask 脚本标签问题【英文标题】:TinyMCE Python Flask Script Tag Issue 【发布时间】:2019-02-08 00:02:30 【问题描述】:所以我正在创建一个烧瓶应用程序,它利用 CodeMirror 和 TinyMCE 作为富文本编辑器来呈现任何 HTML/CSS 输入。 用户的代码在 CodeMirror 中输入,并且使用 Post Request,来自 CodeMirror 的输入被发送到 TinyMCE StringField。我已经能够为标准 HTML 和 CSS 实现这一点,但是我在脚本标签方面遇到了一些问题。 TinyMCE 中的脚本标签正在从
<script>
</script>
到
<script type='mce-no/type'>
</script>
这会阻止 javascript 在 TinyMCE 中呈现,我想知道 Flask 中是否有解决此问题的方法?
【问题讨论】:
【参考方案1】:只有当您使用 TinyMCE 的 getContent(format: 'raw')
API 调用从 TinyMCE 获取“原始”内容时,您才会看到这一点。如果您使用普通的getContent()
API 调用,您将不会看到奇怪的type
值。
TinyMCE 不会在编辑会话期间执行 JavaScript。
【讨论】:
以上是关于flask 富文本编辑器(flask 22)的主要内容,如果未能解决你的问题,请参考以下文章