Javascript 在Python/Django中的ckeditor中启用图像上载按钮
我在我的一个Python/Django项目中使用ekeditor。我已经用Javascript 在Python/Django中的ckeditor中启用图像上载按钮,javascript,python,django,ckeditor,Javascript,Python,Django,Ckeditor,我在我的一个Python/Django项目中使用ekeditor。我已经用create_editor('id_of_field')启用了编辑器,但是我想在这个编辑器中使用图像上传按钮,我不知道如何操作。我读过ckeditor的文档,但这些文档主要是针对PHP和.NET的。但我希望Django也能这样(不过这个编辑器使用JS,所以语言并不重要)。我在文档中找到了这个代码 CKEDITOR.replace( 'editor1', { filebrowserBrowseUrl
create_editor('id_of_field')
启用了编辑器,但是我想在这个编辑器中使用图像上传按钮,我不知道如何操作。我读过ckeditor的文档,但这些文档主要是针对PHP和.NET的。但我希望Django也能这样(不过这个编辑器使用JS,所以语言并不重要)。我在文档中找到了这个代码
CKEDITOR.replace( 'editor1',
{
filebrowserBrowseUrl : '/browser/browse.php',
filebrowserUploadUrl : '/uploader/upload.php'
});
但是在我的例子中,我必须在这里提到哪些文件,因为我使用的不是PHP而是Python/Django。默认情况下,CKEditor不包括文件浏览器或上传程序。但是,您可以使用或使用现有的产品,如,然后配置CKEditor以使用它,这要归功于它的功能
上面引用的代码将CKEditor配置为使用一些
browse.php
和upload.php
文件中定义的自定义文件浏览器,但这并不是什么魔术-这些只是一些文件浏览器的自定义脚本。在您的情况下,您可以使用自己的文件上载功能或现成的解决方案替换它们。我最近解决了相同的问题。首先,上载选项卡隐藏在图像插件对话框中。您必须在image.js对话框文件中搜索上载选项卡,并将字段“hidden”更改为false
现在对于Django/Python,您必须提供处理图像上传的视图的url。对于ex-/editor/upload
config.filebrowserImageUploadUrl = '/editor/upload/';
在config.js文件中
在视图中有一段代码,您必须处理从请求中提取文件并将其保存在Django项目的媒体目录中
您可以从django ckeditor获得帮助。我阅读了django ckeditor的完整代码,并使用django ckeditor的方式实现了上传功能
还有一件事,django ckeditor在上载图像时不处理csrf保护,因此您可能必须更改前端的某些内容,以处理将发送到django后端的POST数据。为此,请检查此链接-
首先试试这个,如果你有任何问题,请告诉我。我和你有同样的问题。在
django-ckeditor
GitHub页面上,他们写道(强调我自己):
提供RichTextField、RichTextUploadingField、CKEditorWidget和CKEditorUploadingWidget使用CKEditor,包括图像上传和浏览支持
在我的forms.py中
为我的文本
class BlogPostForm(forms.ModelForm):
text = forms.CharField(widget=CKEditorWidget())
这给了我和你一样的编辑。我把它改成了
class BlogPostForm(forms.ModelForm):
text = forms.CharField(widget=CKEditorUploadingWidget())
这给了我一个标签,可以从我的电脑上传一张图片,然后上传到我的MEDIA\uurl
,就像人们期望的那样