Django-tinymce 未加载 javascript

Django-tinymce not loading javascript

我已经(尝试)在我的 Django 项目中设置了 django-tinymce。但是,在检查器中,我没有看到正在加载 tinymce.min.js。

这是我的设置:

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
os.environ['DJANGO_LIVE_TEST_SERVER_ADDRESS'] = 'localhost:8123'

# TinyMCE configuration
TINYMCE_JS_ROOT = os.path.join(STATIC_ROOT, "articles/build/lib/node_modules/tinymce")
TINYMCE_JS_URL = os.path.join(TINYMCE_JS_ROOT, "tinymce.min.js")
TINYMCE_COMPRESSOR = False
TINYMCE_DEFAULT_CONFIG = {
    'theme': "modern",
    'toolbar': "undo redo | bold italic | bullist numlist | blockquote | removeformat",
    'menubar': False,
    'statusbar': False,
    'schema': "html5",
    'max_height': 500,
    'max_width': 500,
    'min_height': 100,
    'min_width': 400
}

删除 TINYMCE_DEFAULT_CONFIG 并将 tinymce.min.js 更改为 tinymce.js 并没有改变任何东西——仍然没有加载 tinymce js。

这是我的文件结构:

static
  |-src
  |  |-styles
  |  |-scripts
  |  |-images
  |-build
  |  |-css
  |  |-js
  |  |-img
  |  |-lib
  |  |  |-package.json
  |  |  |-node_modules
  |  |  |  |-tinymce
  |  |  |  |  |-tinymce.js
  |  |  |  |  |-more_tinymce_files_here
  |-node_modules
  |-gulpfile.js
  |-package.json

在我的模板中我确实有 {{ form.media }},但也许这就是问题所在。

full code with templates, settings, urls, etc. is available here.

如何确保 tinymce javascript 加载?或者:我该如何调试它?

来自 django-tinymce 文档:

In your own templates containing a TinyMCE widget you must add the following to the HTML HEAD section (assuming you named your form ‘form’):

<head>
...
{{ form.media }}
</head>

尝试{{ articleform.media }}

jQuery可以吗?我添加了将你的 ArticleSubmitView 添加到我的工作 tinymce 项目中,没有你的 tinymce 配置,我得到一个错误,说 jQuery 没有定义。当我在 base.html 中的 {% block extra_head_stuff %} 标签上方添加 jQuery 的脚本标签时,出现了 tinymce 编辑器。

请注意,这是使用以下默认设置:

TINYMCE_SPELLCHECKER = False
TINYMCE_COMPRESSOR = True
TINYMCE_DEFAULT_CONFIG = {
    'theme': "advanced",
    'theme_advanced_buttons3_add': "|,spellchecker",
}

使用您的设置时,我收到一条错误消息,提示未找到 tinymce.min.js(尽管这可能是因为我没有复制您的静态设置)。

事实证明,错误在 settings.py 中。 tinymce的位置需要这样设置:

TINYMCE_JS_ROOT = "articles/build/lib/node_modules/tinymce"
TINYMCE_JS_URL = os.path.join(TINYMCE_JS_ROOT, "tinymce.js")