【问题标题】:Django Variable Wrapped in Paragraph Tag包裹在段落标签中的 Django 变量
【发布时间】:2020-01-31 23:21:47
【问题描述】:

我在创建帖子时使用 django-ckeditor 作为所见即所得的文本编辑器。它可以毫无问题地捕获并保存内容和正确的 HTML 标签。但是,我的模板渲染了由<p> 标签包围的变量,这破坏了RichTextField,因为<p> 标签不能嵌套。结果,它将所有文本(带有标签)显示为没有格式的段落。我意识到发生了这种情况,所以我将模板中的周围标签更改为<div> 标签,但是当模板加载到浏览器上时,它再次将 div 标签替换为段落标签。如何摆脱 <p> 标记,以便我的文本以正确的格式呈现?

这是我的模板:

{% extends 'bandwagon/base.html' %}  
{% block content %}
    <article class="media content-section">
        <img src="{{ post.author.profile.image.url }}" alt="profile photo" class="rounded-circle article-img">
        <div class="media-body">
            <img src="{{ post.image.url }}" class="post-img">
            <div class="article-metadata">
                <a class="mr-2" href="{% url 'user-posts' object.author.username %}">{{ object.author }}</a>
                <small class="text-muted">{{ object.date_posted | date:'F d, Y'}}</small>
                {% if object.author == user %}
                <div>
                    <a href="{% url 'post-update' object.id %}" class="btn btn-outline-secondary btn-sm mt-1 mb-1">Edit</a>
                    <a href="{% url 'post-delete' object.id %}" class="btn btn-outline-danger btn-sm mt-1 mb-1">Delete</a>
                </div>
                {% endif %}
            </div>
            <h2 class='article-title-detail'>{{ object.title }}</h2>
            <div class="article-content">{{ object.content | safe }}</div>
        </div>
    </article>
{% endblock content %}

但是,在浏览器中,响应是这样的:

            <p class="article-content">&lt;h3&gt;Fake Content&lt;/h3&gt;

&lt;h3&gt;&lt;span style=&quot;font-size:13px&quot;&gt;Fake Content&lt;/span&gt;&lt;/h3&gt;</p>

【问题讨论】:

    标签: django django-templates django-ckeditor


    【解决方案1】:

    默认情况下,CKEditor RichTextField 在字段内容周围添加&lt;p&gt; 标签。

    如果这就是您在内容周围不断看到&lt;p&gt; 的原因,您可以自定义您的CKEditor 编辑器,这样它就不会像这样添加&lt;p&gt;

    #base.py
    CKEDITOR_CONFIGS = {
        'default': {
            'autoParagraph': False
        },
    }
    


    您还可以创建特定配置并设置特定字段以使用它。 在此处阅读更多信息:https://django-ckeditor.readthedocs.io/en/latest/#optional-customizing-ckeditor-editor

    【讨论】:

    • 不适用于最新版本的 Django 和 CKEditor。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-05
    • 1970-01-01
    • 2017-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-14
    相关资源
    最近更新 更多