在 django 应用程序中,目标是在 WYSIWYG 编辑器中编辑电子邮件模板。使用 CKEditor 可以正常工作,但图像只能通过 URL 包含,不能通过上传。
这里提出了一个类似的问题: Django-CKEditor Image Upload
没有涵盖的是使用表单字段而不是模型字段的情况。也没有真正解释接受的解决方案。
当前代码:
from django import forms
from crispy_forms.helper import FormHelper
class EmailConfirmationTemplateForm(forms.Form):
def __init__(self, *args, **kwargs):
self.email_template = kwargs.pop('email_template')
kwargs.setdefault('initial', {})['email_template'] = self.email_template
super(EmailConfirmationTemplateForm, self).__init__(*args, **kwargs)
self.helper = FormHelper(self)
self.fields['email_template'] = forms.CharField(widget=CKEditorWidget())
模板代码:
...
<form>
{% csrf_token %}
{% crispy form %}
</form>
设置:
INSTALLED_APPS = [
...
'ckeditor',
'ckeditor_uploader',
...
]
CKEDITOR_UPLOAD_PATH = 'cke-uploads/'
CKEDITOR_IMAGE_BACKEND = 'pillow'
问题是:如何在这个所见即所得的编辑器中上传图片?
版本信息:django 1.8.16,django-ckeditor 5.2.2