我只在我的生产环境中遇到这个奇怪的错误。它在本地和登台时都能正常工作。
我正在使用Django==1.10.5
& django-blog-zinnia==0.18.1
zinnia-wysiwyg-ckeditor==1.3
Django==1.8
。我相信这个问题最近发生在我们从
https://example.com/admin/zinnia/entry/81/change/config.js/change/ 404 (Not Found)
https://example.com/admin/zinnia/entry/81/change/lang/en.js/change/
GET https://example.com/admin/zinnia/entry/81/change/skins/moono-lisa/editor.css/change/
Uncaught TypeError: Cannot set property 'dir' of undefined
升级到最新版本时。
当我尝试创建博客条目时,我无法编辑内容,因为ckeditor实例未加载。错误是:
/admin/zinnia/entry/81/change/
网址为/static/ckeditor/ckeditor/ckeditor.8bd276b5ef4c.js
所以这看起来非常像ckeditor.js正在尝试根据当前的URL加载其他静态文件,并以某种方式将文件名注入当前URL。
作为一种解决方法,我进入服务器并操纵
window.CKEDITOR_BASEPATH = '/static/ckeditor/ckeditor/';
并将此行添加到最顶层:
CKEDITOR_BASEPATH
这解决了这个问题。最大的问题是:为什么这只发生在我的一台机器上,为什么Django / zinnia没有正确设置templates/admin/change_form.html
?
我在这里发布这个是因为我不确定这是Django,zinnia还是zinnia-ckeditor的问题,如果有人对谁有罪有所了解,我很乐意在相关问题上重新发布这个问题在github上发布跟踪器。
编辑:
作为一种解决方法,在我的项目中,我创建了文件{% extends "admin/change_form.html" %}
:
{% block extrahead %}
<script>window.CKEDITOR_BASEPATH = '/static/ckeditor/ckeditor/';</script>
{{ block.super }}
{% endblock %}
UserId