首页 > 代码库 > 在Django Xadmin中集成Ueditor
在Django Xadmin中集成Ueditor
Ueditor是由百度开发的一个开源的富文本编辑器,有人做了一个将其集成到Django中的方案(请戳),但是在xadmin中却无法正常加载编辑器。
其使用了一个模板用来呈现Ueditor的编辑界面
<textarea name={{ UEditor.name }} id=id_{{ UEditor.name }} style="display:inline-block;width:{{ UEditor.width }}px; {{ UEditor.css }}">{{UEditor.value}}</textarea> <script type="text/javascript"> var id_{{ UEditor.name }}= new baidu.editor.ui.Editor({ "UEDITOR_HOME_URL":"{{ STATIC_URL }}ueditor/", {% ifnotequal UEditor.toolbars None %}"toolbars":{{ UEditor.toolbars|safe }} ,{% endifnotequal %} "imageUrl":"/ueditor/ImageUp/{{ UEditor.imagePath }}", "imagePath":"{{ MEDIA_URL }}{{ UEditor.imagePath }}", "scrawlUrl":"/ueditor/scrawlUp/{{ UEditor.scrawlPath }}", "scrawlPath":"{{ MEDIA_URL }}{{ UEditor.scrawlPath }}", "imageManagerUrl":"/ueditor/ImageManager/{{ UEditor.imageManagerPath }}", "imageManagerPath":"{{ MEDIA_URL }}{{ UEditor.imageManagerPath }}", "catcherUrl":"/ueditor/RemoteCatchImage/{{ UEditor.imagePath }}", "catcherPath":"{{ MEDIA_URL }}{{ UEditor.imagePath }}", "fileUrl":"/ueditor/FileUp/{{ UEditor.filePath }}", "filePath":"{{ MEDIA_URL }}{{ UEditor.filePath }}", "getMovieUrl":"/ueditor/SearchMovie/" {% ifnotequal UEditor.options ‘‘ %},{{ UEditor.options|safe }}{% endifnotequal %} }); id_{{UEditor.name}}.render(‘id_{{ UEditor.name }}‘); id_{{UEditor.name}}.addListener(‘ready‘,function(){ id_{{UEditor.name}}.setHeight({{ UEditor.height }}); }); </script>
我发现在xadmin中是可以正常加载这段模板的,于是怀疑是否是js的问题,因此在script中加入了几个alert,结果发现在
id_{{UEditor.name}}.render(‘id_{{ UEditor.name }}‘);
之后的alert没有弹出,却是是因为js加载的问题。
因此可能的原因是在class Media中声明的静态文件加载顺序比较靠后,导致Ueditor的js代码无法执行,所以我在上面那段模板中加入了
<script type="text/javascript" src=http://www.mamicode.com/"/static/ueditor/editor_config.js"></script>>然后ueditor就可以正常工作了。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。