gpt4 book ai didi

django - 管理字段无法在 Django 中使用 tinymce 和 filebrowser 进行保存

转载 作者:行者123 更新时间:2023-12-04 06:50:15 24 4
gpt4 key购买 nike

我将 django-tinymce 与运行 django 1.2 的 django-filebrowser 的 no grappelli 分支一起使用。

我将 tinymce HTMLField 模型定义用于我想要所见即所得的模型字段。

我已将正确的 javascript 添加到我的 AdminModel,并且文件浏览器运行良好,将图像添加到 textarea 没有问题,但是,当我保存时,textarea 不会更新(看起来 tinnymce 在它应该)。当我关闭文件浏览器插件时,一切正常,因此它和 TinyMCE onSubmit 功能肯定存在冲突。

我一直在搞乱它,但哪儿也去不了——所有这些东西对我来说都很新,所以即使是一些关于要搞砸的东西的想法也会有所帮助。

提前致谢。

编辑:添加了奖励信息 - 'mode' 配置中的默认模式是 'textareas'。当我删除它时,一切都会正确保存。可悲的是,这也删除了我正在执行所有这些操作的图像按钮...

更新

这是我使用的 TinyMCE 配置(包含在 django-filebrowser 中的配置 - 这是 损坏的 ):

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],"
});

这是我遇到的两个问题之一 - 也将在下面发布答案。

最佳答案

这个问题实际上有两个方面。第一个问题是 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

一切似乎都运行良好。这个问题似乎对我的版本组合相当独特。

关于django - 管理字段无法在 Django 中使用 tinymce 和 filebrowser 进行保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3231432/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com