发布我的博客ni的内容后,它们以html格式而不是纯文本显示

时间:2019-04-11 18:49:05

标签: python django tinymce

我在我的Web博客中使用tinymce,它允许我发布博客,但是在我发布博客时,它们以rawHTML格式显示,如下所示: enter image description here

这是我的模板

{% extends "blog/base.html" %}
{% load crispy_forms_tags %}
{% block styler %}

{% endblock styler%}
{% block content %}

<div class="content-section">
    <form method="POST" enctype="multipart/form-data">
        {% csrf_token %}
        <fieldset>
            <legend class="border-bottom pb-3 mb-3">Post blog</legend>
            {{ form|crispy }}
        </fieldset>
        <button class="btn btn-outline-info" type="submit">Post</button>
    </form>
</div>

{% endblock content %}

和我的forms.py

class PostCreateForm(forms.ModelForm):
    title = forms.CharField()

    content = forms.CharField(
        widget=TinyMCEWidget(
            attrs={'required': False, 'cols': 30, 'rows': 10}
        )
    )

    thumbnail = forms.ImageField()

    class Meta:
        model = Post
        fields = ['title', 'content', 'thumbnail']

和相关的views.py

class PostCreateView(LoginRequiredMixin, CreateView):
    model = Post
    form_class = PostCreateForm

帮助我如何解决此问题,我进行了一些搜索,发现这可能是由于@Html.Raw(@Model.LongDescription)引起的,但我也不知道该在哪里添加?请检查您是否可以对我的代码进行任何改进。 谢谢您的帮助。

1 个答案:

答案 0 :(得分:2)

通常,您只需要添加安全标签:{{ content|safe }}

或者您可以将HTML包装在自动转义标记中:

{% autoescape off %}
  {{ content }}
{% endautoescape %}