1

我正在使用/测试 django-cms (2.3.5) + 基于引导程序的模板。使用 django-tinymce 我添加代码:

<a class="carousel-control right" href="#this-carousel-id" data-slide="next">›&lt;/a>

但是 django-tinymce 删除了 "data-slide="next""

<a class="carousel-control right" href="#this-carousel-id">›&lt;/a>

当然,没有任何效果。

使用 WYeditor 我发现无法修改 settings.py 中的选项。使用 tinyMCE 我可以:

TINYMCE_DEFAULT_CONFIG={
    # General options
    'mode': "textareas",                   
    'theme': "advanced", 
    'remove_linebreaks': "false",

    'convert_urls': "false",
    'relative_urls': "false",
    'theme_advanced_resizing': "true",
    'paste_auto_cleanup_on_paste': "true",
    #'preformatted': "true",

    'valid_elements': "+*[*]",

    'width': "100%",
    'height': "300px",    

    'theme_advanced_buttons1' : "formatselect,separator,bold,italic,hr,separator,link,unlink,separator,bullist,numlist,separator,undo,redo,",
    'theme_advanced_buttons2' : "|,help,code,|",
    'theme_advanced_buttons3' : ""  ,
    'theme_advanced_blockformats' : "p,h1,h2,h3,blockquote",
    'theme_advanced_toolbar_location' : "top",
    # Example content CSS (should be your site CSS)
    #'content_css': 'css/example.css',    
    #'content_css' : "/media/css/tiny_editor.css" 
}

工作流程:

  • 我打开 HTML 弹出窗口
  • 我复制代码
  • 我重新打开弹出窗口,想要的代码就在那里
  • 我保存页面并重新打开弹出窗口,代码已更改!

我怎样才能避免这种行为?

我还添加了保留空格/制表符/注释/的选项,以保留绝对路径,但 /static/images/path/ 始终转换为 ../../../../../static/ *。

我必须检查/更改什么?

谢谢!

4

3 回答 3

1

我相信删除字段是由 cms 用作 python 包的 html5lib 完成的,您需要打开 html5lib 文件夹并打开 sanitizer.py,在第 184 行,代码为:

if name in self.allowed_attributes])

改成:

if name in self.allowed_attributes or re.match( r'data-.*',name)]) 

这将允许所有数据(无论)属性

对于 WYMeditor,已经允许使用 data-(whatever) 属性

于 2013-06-25T08:46:54.723 回答
1

您将需要声明data-slide为链接/标签的有效属性。仔细查看 tinymce 的valid_elements设置

于 2013-02-08T11:04:34.233 回答
-1

“false”和“true”在 False 和 True 上变化

于 2014-07-10T07:47:42.103 回答