Django cms 从 Textplugin 中删除 href 属性

Posted

技术标签:

【中文标题】Django cms 从 Textplugin 中删除 href 属性【英文标题】:Django cms remove href attribute from Textplugin 【发布时间】:2021-01-04 03:41:44 【问题描述】:

目前我正在使用 Django-CMS 并尝试在文本插件中添加以下代码。

<a href="javascript:void(0);" id="map-world">Click me!</a>

但 Django-CMS 会自动从文本插件中删除 href 属性,保存后文本插件有以下内容。

<a id="map-world">Click me!</a>

作为一种解决方案,我已经尝试了以下从在线搜索中获得的选项。

TEXT_ADDITIONAL_TAGS = ('iframe', 'div', 'a')
TEXT_ADDITIONAL_ATTRIBUTES = ('href', 'onclick')
TEXT_html_SANITIZE = False

但仍然没有任何解决方案。

如果有人有解决方案,请告诉我。

谢谢。

【问题讨论】:

如果保存以下内容会怎样? &lt;a href="/non/script/url" id="map-world"&gt;Click me!&lt;/a&gt; @Aiky30 是的,上面的代码工作正常,但我需要带有javascript:void(0) 的锚标记。 【参考方案1】:

这是为了防止跨站脚本攻击 (XSS) 而设计的。如果您将 javascript 绑定到元素,您可以只使用 # 字符并在 on click 函数中返回 false。

点我!

【讨论】:

以上是关于Django cms 从 Textplugin 中删除 href 属性的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Django 模板中的页面迭代 cms 插件实例?

Django 1.11 如何从保存在 CMS 站点模型中的 HTML 中显示模板变量

Django CMS 将数据从草稿中丢失

Django-cms 和自动阻塞

django cms - 如何使占位符可以从 base.html 继承

“渲染占位符”未出现在 django CMS 模板中