我正在尝试使用wtf-tinymce将TinyMCE所见即所得编辑器集成到我的Flask应用程序中。但是,结果网页仅显示一个空文本框,而不显示TinyMCE编辑器。
我已按照此处提供的说明进行操作:https://github.com/azsoftware/wtf-tinymce,包括初始化wtf-tinymce并将所有相关代码添加到模板中。我发现有人遇到同样的问题here,但唯一的建议是初始化模块,而我已经做到了。
这是我的html页面:
{% extends "base.html" %}
{% import 'wtf_tinymce/editor.html' as tinymce with context %}
{% block content %}
<div class="container mt-5">
<div class="content-section">
<form method="POST" action="/newtext">
<fieldset class="form-group">
<legend class="border-bottom mb-4">{{ legend }}</legend>
<div class="form-group">
{{ form.title.label(class="form-control-label") }}
{% if form.title.errors %}
{{ form.title(class="form-control form-control-lg is-invalid") }}
<div class="invalid-feedback">
{% for error in form.title.errors %}
<span>{{ error }}</span>
{% endfor %}
</div>
{% else %}
{{ form.title(class="form-control form-control-lg") }}
{% endif %}
</div>
<div class="form-group">
{{ form.content.label(class="form-control-label") }}
{% if form.content.errors %}
{{ form.content(class="form-control form-control-lg is-invalid") }}
<div class="invalid-feedback">
{% for error in form.content.errors %}
<span>{{ error }}</span>
{% endfor %}
</div>
{% else %}
{{ form.content(class="form-control form-control-lg") }}
{% endif %}
</div>
</fieldset>
<div class="form-group">
{{ form.submit(class="btn btn-outline-info") }}
</div>
</form>
</div>
</div>
{% endblock %}
{% block tail %}
{{ super() }}
{{ tinymce.init_wtf_tinymce(default_content_css='css/tinymce.css') }}
{% endblock %}
这是forms.py中的代码:
class NewPost(FlaskForm):
title = StringField('Title', validators=[DataRequired(message="All texts must have a title")])
content = TinyMceField(
'Content',
tinymce_options={'toolbar': 'bold italic | link | code'}, validators=[DataRequired()]
)
submit = SubmitField('submit', validators=[DataRequired()])
从理论上讲,这应该在html页面上产生一个所见即所得的编辑器,但是我只是得到了一个普通的空白文本框。
编辑:如果有人遇到相同的问题,https://bzdww.com/article/38020/有一个更好的方法来集成TinyMCE和flask-wtforms