【问题标题】:File browser not showing in Django-tinymce文件浏览器未在 Django-tinymce 中显示
【发布时间】:2014-05-11 00:00:43
【问题描述】:

我一直试图让django-filebrowserdjango-tinymce(使用 MCE v4.0.x)中工作一段时间,但仍然无法让文件浏览器回调工作。这是我到目前为止所做的:

  1. 通过 pip 安装 TinyMCE,添加必要的设置,包括以下默认配置:

    TINYMCE_DEFAULT_CONFIG = { 'theme': 'modern', 'relative_urls': False, 'plugins': 'image', }

  2. 在我的一种表单中使用 TinyMCE 作为小部件,如下所示:

    content = forms.CharField(widget=TinyMCE(attrs={'cols': 100, 'rows': 30}))

  3. 已安装文件浏览器 (pip install django-filebrowser),将其添加到 INSTALLED_APPS。还将设置 TINYMCE_FILEBROWSER=True 以及必要的文件浏览器设置添加到设置中。

我现在的结果是在 TinyMCE 的“添加图像”对话框中出现了一个文件浏览器按钮,但是当我单击它时,我在浏览器的 JS 控制台中收到以下错误:

Uncaught TypeError: string is not a function

我还收到以下关于加载文件浏览器插件的 Javascript 错误:

Failed to load resource: the server responded with a status of 500 (INTERNAL SERVER ERROR) http://localhost:8080/tinymce/filebrowser/

【问题讨论】:

  • 找到解决方案了吗?

标签: javascript django tinymce django-tinymce django-filebrowser


【解决方案1】:

我设法让文件浏览器与 MCE v.4 一起工作的唯一方法是使用 Django-tinymce-filebrowser 的一个分支:

https://github.com/philroche/Django-tinymce-filebrowser

我不认为 django-filebrowser 支持 TinyMCE v.4,根据这个参考: https://github.com/sehmaschine/django-filebrowser/pull/219

也许有一些 django-filebrowser 的分支可以做到。

【讨论】:

  • 我刚刚尝试过,但我仍然收到string is not a function 消息。删除 TINYMCE_FILEBROWSER=True 删除了查找 /filebrowser/ 目录的 500 错误,但是当我单击文件浏览器按钮时,我仍然收到 not a function 错误。
  • 确保没有引号:file_browser_callback: mce_filebrowser 并且 mce_filebrowser 脚本正在加载,以便可以找到该函数。这将解决您遇到的当前错误。另请注意,urls.py 文件在第 1 行使用了错误的导入,它应该来自 django.conf.urls import *
  • 我也在尝试让文件浏览器与 tinymce4 一起使用时遇到“字符串不是函数”问题。 @laidibug 不确定“确保...上没有引号”是什么意思-必须引用这些值(删除它们会产生 django 启动错误)。
【解决方案2】:

“字符串不是函数”错误是因为“mce_filebrowser”在 init 函数内的引号中。它正在寻找脚本。首先确保它不在引号中(在脚本 init 中,而不是在 seetings 中。 py,是的,它应该是一个字符串值)。然后确保您已链接到静态文件中的脚本文件或项目中您存储 .js 脚本的任何位置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-27
    • 2017-03-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多