Джанго-Кекедитор и Джанго-Трубопровод
У меня проблема с django-ckeditor
Я использую это с django-pipeline
все нормально когда запускается локально, но если DEBUG=False
Используемый ckeditor.js является сжатым и не работает.
Это проблема, которую я получаю от инструментов разработчика в chrome, когда загружаю администратора для визуализации поля, использующего django-ckeditor
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 %}
Любой совет?
1 ответ
Вы были на правильном пути, как описано здесь: https://github.com/django-ckeditor/django-ckeditor/blob/master/README.rst#id2
Вам необходимо разместить ресурсы JS в правильном порядке в шаблоне Django.
Следующее решило это для меня:
{% 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 %}