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_URL
和 TINYMCE_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 之后,我可以看到文件夹和文件。
也许其他人对此有正式的回答。
我在我的 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_URL
和 TINYMCE_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 之后,我可以看到文件夹和文件。
也许其他人对此有正式的回答。