【问题标题】:Including <iframe> and <script> tags with mezzanine_pagedown在 mezzanine_pagedown 中包含 <iframe> 和 <script> 标记
【发布时间】:2015-09-23 10:20:50
【问题描述】:

我在 Mezzanine 项目中使用 mezzanine_pagedown 生成 RichTextPages,但即使我的 settings.py 中有 RICHTEXT_FILTER_LEVEL = 3,我发现我手动插入的 &lt;script&gt;&lt;iframe&gt; 标签仍然被剥离.如何配置 PageDown 以允许我包含这些?

&lt;p&gt;&lt;div&gt; 等其他标签会毫无问题地被包含在内,因此看起来这些可能更危险的标签正在被 pagedown 自己的过滤器删除。

为了那些默默地否决这个问题的人,我应该澄清一下,我是我项目的唯一管理员,所以我不担心在我的页面中允许这些标签的安全性,因为我自己制作了所有内容。

【问题讨论】:

标签: django python-3.x markdown mezzanine pagedown


【解决方案1】:

我遇到了同样的问题,并通过将 defaults.py 放入自定义“应用”文件夹中解决了这个问题(我只有一个带有 defaults.py 的空文件夹和我之前放在那里的一些模板)

这样就变成了:

from mezzanine.conf import register_setting

register_setting(
     name="RICHTEXT_ALLOWED_TAGS",
     append=True,
     default=("script","iframe"),
)

此解决方案主要基于official docsthis thread

编辑:忘记包含 iframe

【讨论】:

    【解决方案2】:

    您可以删除模板标签:

    例如。在richtextpage.html

    {{ page.richtextpage.content|richtext_filters|safe }}
    
    
    {{ page.richtextpage.content }}
    

    停止所有的逃跑。

    【讨论】:

    • 这不起作用:它只是呈现我的所有标记而不将其转换为 HTML,除了 &amp;lt;script&amp;gt; 标记,它继续转义到 &amp;lt;script&amp;gt;
    猜你喜欢
    • 2011-04-09
    • 2015-04-22
    • 1970-01-01
    • 1970-01-01
    • 2020-05-25
    • 2011-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多