0

我有一个问题django-ckeditor,我正在使用它django-pipeline,在本地运行时一切正常,但如果DEBUG=False使用的 ckeditor.js 是压缩的并且失败。

这是我在加载管理员以呈现使用 django-ckeditor 的字段时从 chrome 中的开发人员工具中得到的问题

ckeditor.8e9749424093.js:245 
   Uncaught TypeError: Cannot set property 'dir' of undefined
        at Object.d (ckeditor.8e9749424093.js:245)
        at f (ckeditor.8e9749424093.js:246)
        at Array.C (ckeditor.8e9749424093.js:246)
        at w (ckeditor.8e9749424093.js:246)
        at ckeditor.8e9749424093.js:247```

该文件存在并已加载,但出现问题,似乎从管道进行压缩会破坏它。

我已经用谷歌搜索了这个问题,我发现的唯一建议来自文档。我还将这段代码添加到模板中,以确保测试所有可能的解决方案,但没有任何改变。

{% extends "admin/base_site.html" %}
   {% block extrahead %}
   <script>window.CKEDITOR_BASEPATH = '/static/ckeditor/ckeditor/' </script>
   {{ block.super }}
   {% endblock %}

有什么建议吗?

4

1 回答 1

1

你在正确的轨道上解释这里:https ://github.com/django-ckeditor/django-ckeditor/blob/master/README.rst#id2

您需要在 Django 模板中以正确的顺序放置 JS 资产。

以下为我解决了它:

{% block extrahead %}
    {{ block.super }}

    {# CKEditor needs to know where its assets are located #}
    <script>window.CKEDITOR_BASEPATH = '/static/ckeditor/ckeditor/';</script>

    <script type="text/javascript" src="{% static "ckeditor/ckeditor-init.js" %}"></script>
    <script type="text/javascript" src="{% static "ckeditor/ckeditor/ckeditor.js" %}"></script>
{% endblock %}
于 2018-10-05T09:47:08.737 回答