我最近用我的表单实现了django-summernote,它适用于文本。但是,我很难准确了解图像上传的工作原理。有人对它是如何完成的有一些意见吗?
问题
使用 Summernote 从文件中选择图像时,“插入图像”按钮被禁用(适用于图像链接)。我没有编写自定义的“upload_to”函数,但据我所知,这已经在 django-summernote 中完成了。
细节
- 根据文档安装 django-summernote。
- 在 url 和 INSTALLED_APPS 中添加了 summernote
在我的表单字段中添加了summernote
方向=forms.CharField(小部件=SummernoteInplaceWidget(attrs={'maxlength':'4000'}),必需=假,)
还在 SUMMERNOTE_CONFIG (settings.py) 中添加了一些配置
SUMMERNOTE_CONFIG = { 'iframe': True, 'airMode': True, 'width': '100%', 'height': '300', 'toolbar': [ # ['style', ['style']], ['font', ['bold', 'italic', 'underline', 'superscript', 'subscript', 'strikethrough', 'clear']], # ['fontname', ['fontname']], ['fontsize', ['fontsize']], # ['color', ['color']], ['para', ['ul', 'ol', 'paragraph']], ['height', ['height']], ['table', ['table']], ['insert', ['link', 'picture', 'video', 'hr']], ['view', ['fullscreen', 'codeview']], ['help', ['help']], ], }
我是否还必须为附件(图像)编写自己的后端?STATIC_URL 和 MEDIA_URL 在我的 settings.py 中定义,如果这对这个问题很重要。
2014 年 11 月 29 日更新:
选择图片时,控制台报如下错误:“undefined is not a function”,与
imageInput.fileupload();
“插入图像”按钮被禁用。
由于我的项目处于开发模式,因此我的设置中有DEBUG=True。
我的网址看起来像:
urlpatterns += patterns('',
url(r'^summernote/', include('django_summernote.urls')),
) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
并且Media_root和Media_url设置为:
MEDIA_ROOT = path.join(path.dirname(__file__), 'media',)
MEDIA_URL = '/media/'
我使用这些设置在 django-summernote 之外使用图片上传。
感觉好像我错过了什么,但看不到什么。
提前致谢。