无法让wtf-tinymce与我的Flask应用程序一起使用

时间:2019-04-29 15:33:38

标签: flask tinymce flask-wtforms

我正在尝试使用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

0 个答案:

没有答案