2

我使用django-tinymce和django-filebrowser的no grappelli分支一起运行django 1.2。管理员字段无法在django中使用tinymce和filebrowser保存

我使用tinymce HTMLField模型定义模型字段,我想所见即所得。

我已经添加了正确的javascript到我的AdminModel,并且filebrowser工作得很好,将图像添加到textarea没有问题,但是,当我保存时,textarea不更新(它看起来像tinnymce不当它应该触摸它)。当我关闭filebrowser插件时,一切正常,因此必须与它和TinyMCE onSubmit功能发生冲突。

我一直在为它乱搞,只是无法得到任何地方 - 所有这些作品对我来说都是新鲜的,所以即使是一些想法弄乱什么也是有帮助的。

在此先感谢。

编辑:添加奖金信息 - '模式'的配置默认模式是'textareas'。当我删除它时,一切都可以正确保存。可悲的是,这也消除了图像按钮,我做这一切有...

更新

下面是我使用(包括在Django的filebrowser的一个TinyMCE的配置 - 这被):

tinyMCE.init({ 
    mode: "textareas", 
    theme: "advanced", 
    language: "en", 
    skin: "o2k7", 
    browsers: "gecko", 
    dialog_type: "modal", 
    object_resizing: true, 
    cleanup_on_startup: true, 
    forced_root_block: "p", 
    remove_trailing_nbsp: true, 
    theme_advanced_toolbar_location: "top", 
    theme_advanced_toolbar_align: "left", 
    theme_advanced_statusbar_location: "none", 
    theme_advanced_buttons1: "formatselect,bold,italic,underline,bullist,numlist,undo,redo,link,unlink,image,code,fullscreen,pasteword,media,charmap", 
    theme_advanced_buttons2: "", 
    theme_advanced_buttons3: "", 
    theme_advanced_path: false, 
    theme_advanced_blockformats: "p,h2,h3,h4,h5,h6", 
    width: '700', 
    height: '200', 
    plugins: "advimage,advlink,fullscreen,visualchars,paste,media,template,searchreplace", 
    advimage_styles: "Linksbündig neben Text=img_left;Rechtsbündig neben Text=img_right;Eigener Block=img_block", 
    advlink_styles: "internal (sehmaschine.net)=internal;external (link to an external site)=external", 
    advimage_update_dimensions_onchange: true, 
    file_browser_callback: "CustomFileBrowser", 
    relative_urls: false, 
    valid_elements : "" + 
    "-p," + 
    "a[href|target=_blank|class]," + 
    "-strong/-b," + 
    "-em/-i," + 
    "-u," + 
    "-ol," + 
    "-ul," + 
    "-li," + 
    "br," + 
    "img[class|src|alt=|width|height]," + 
    "-h2,-h3,-h4," + 
    "-pre," + 
    "-code," + 
    "-div", 
    extended_valid_elements: "" + 
    "a[name|class|href|target|title|onclick]," + 
    img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name]," + 
    "br[clearfix]," + 
    "-p[class<clearfix?summary?code]," + 
    "h2[class<clearfix],h3[class<clearfix],h4[class<clearfix]," + 
    "ul[class<clearfix],ol[class<clearfix]," + 
    "div[class]," 
}); 

这是两个问题,我有一个 - 要张贴下面的答案为好。

+0

你能发布tinymce的确切初始化吗? – Thariama 2010-07-13 06:58:45

回答

3

这个问题实际上是双重的。第一个问题是django-filebrowser-no-grappelli附带的默认TinyMCE配置(上面的问题)。我不确定它有什么问题,但是它阻止了当提交按钮被按下时实际的表单域被更新。

当我使用TinyMCE的自定义配置时,表单字段保存工作正常,但文件浏览被破坏。这是因为如果django-tinymce在已安装的应用程序列表中看到'filebrowser',它会覆盖file_browser_callback并将其设置为'djangoFileBrowser',所以即使我在我自己的配置中将其正确设置为'CustomFileBrowser'。解决办法是明确告诉它不要设置该值。我在我的settings.py中添加了以下内容:

TINYMCE_DEFAULT_CONFIG = { 
    'theme': 'advanced', 
    'theme_advanced_toolbar_location': "top", 
    'theme_advanced_toolbar_align': "left", 
    'skin': "o2k7", 
    "file_browser_callback" : "CustomFileBrowser", 
} 
TINYMCE_FILEBROWSER = False 

而且一切似乎都正常。这个问题似乎对我的版本组合来说是相当独特的。

相关问题