我正在 Wagtail 1.3.1、Django 1.7.11 上运行。
我已经激活了 Hallohtml 和 Hallojustify 插件,它们出现在工具栏中(没有图标,但有按钮)。
可以使用按钮,并且可以在文本区域中看到修改(我的意思是,例如,我可以将字段居中并看到它)。
当我发布页面时,hallojustify 或 Hallohtml 所做的修改不会保存,但我仍然可以使用粗体/斜体按钮并保存内容。看起来 html 已经被清理了......
我应该错过一些东西,但是……
@hooks.register('insert_editor_js')
def editor_js():
js_files = [
]
js_includes = format_html_join('\n', '',
((settings.STATIC_URL, filename) for filename in js_files)
)
return js_includes + format_html(
"""
<script>
registerHalloPlugin('hallojustify');
registerHalloPlugin('hallohtml');
</script>
"""
)
根据设计,Wagtail 仅允许 HTML 标签和属性的子集,并剔除任何不在其白名单上的内容。这样做有几个原因:它可以防止编辑者插入恶意内容(例如<script>
标签),并鼓励网站开发人员将内容和呈现分开。 (您实际上不应该在富文本内容中包含格式信息,例如左/右/中心对齐 - 这些信息应该在您的模板和 CSS 中定义。)
您可以使用以下命令自定义 HTML 白名单规则construct_whitelister_element_rules http://docs.wagtail.io/en/v1.13/reference/hooks.html#construct-whitelister-element-rules钩子 - 但是,我鼓励您重新考虑是否真的需要使用如此多的功能来重载富文本编辑器,或者是否有一种更结构化的方式来实现您想要的(例如流场 http://docs.wagtail.io/en/v1.5.2/topics/streamfield.html).
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)