Django-Tinymce 未加载

Django-Tinymce not loading

我在我的 Django 3.1 项目中包含了 django-tinymce 模块。但是,tinymce 编辑器从我的页面上消失了,我不知道为什么。当我 运行 我的本地主机中的项目时,我在 init_tinymce.js 上得到一个 404,这个文件夹不在我的项目中,也没有在 django-tinymce 项目中指定。

我几乎没有碰任何东西,但它突然没有显示在我的页面上。这是我控制台的日志:

[08/Jun/2021 08:32:26] "GET /letter_head_edit/1/ HTTP/1.1" 200 14367
[08/Jun/2021 08:32:26] "GET /static/django_tinymce/init_tinymce.js HTTP/1.1" 404 179
[08/Jun/2021 08:32:26] "GET /static/django_tinymce/init_tinymce.js HTTP/1.1" 404 179

这是我的 settings.py 文件配置:

TINYMCE_JS_URL = os.path.join(STATIC_URL, "js/tinymce/tinymce.min.js")
TINYMCE_JS_ROOT = os.path.join(STATIC_ROOT, "js/tinymce")
TINYMCE_SPELLCHECKER = True

TINYMCE_DEFAULT_CONFIG = {
    "height": "500px",
    "width": "auto",
    "menubar": "file edit view insert format tools table help",
    "plugins": "advlist autolink lists link image charmap print preview anchor searchreplace visualblocks code "
    "fullscreen insertdatetime media table paste code help wordcount spellchecker",
    "toolbar": "undo redo | bold italic underline strikethrough | fontselect fontsizeselect formatselect | alignleft "
    "aligncenter alignright alignjustify | outdent indent |  numlist bullist checklist | forecolor "
    "backcolor casechange permanentpen formatpainter removeformat | pagebreak | charmap emoticons | "
    "fullscreen  preview save print | insertfile image media pageembed template link anchor codesample | "
    "a11ycheck ltr rtl | showcomments addcomment code",
    "custom_undo_redo_levels": 10,
    "language": "es_ES",  # To force a specific language instead of the Django current language.
}

最后是我如何在我的表单上加载 TinyMCE。我为此使用模型表格。

我先导入:

from tinymce import models as tinymce_models

然后在其中一个模型上使用它:

content = tinymce_models.HTMLField(blank=True, null=True)

URLs.py:

urlpatterns = [
     
    path('tinymce/', include('tinymce.urls')),
]

最后,在模板上:

<div class="form-row">
      <div class="form-group col-md-12 mb-0">
            {{ form.media }}
        {{ form.content|as_crispy_field }}
      </div>
    </div>

如果您不是特别需要更改默认 TINYMCE_JS_URLTINYMCE_JS_ROOT 设置,请不要在您的项目中设置它们。您是否在 INSTALLED_APPS 中添加了 'tinymce'?

所以我的设置的问题是,当我使用“懒惰”的方式将 TinyMCE 加载到 django 中时:

from tinymce import models as tinymce_models

content = tinymce_models.HTMLField(blank=True, null=True)

如果我将使用 TinyMCE 期望的默认路径,我不需要设置 URL。 (克劳德的见解)

'django_tinymce' 文件夹也会生成 'init_tinymce.js' 文件。我不确定为什么它一开始没有这样做,但是在我的本地机器上 运行 collectstatic 之后,我可以看到文件夹和文件。

也许其他人对此有正式的回答。