我最近使用我的表单实现了django-summernote,这适用于文本。但是,我很难准确地了解图片上传的工作原理。有没有人对如何完成有一些意见?
问题
使用Summernote从文件中选择图像时,插入图像按钮被禁用(适用于图像链接)。我没有写一个自定义的'upload_to'函数,但是当我得到它时,这已经在django-summernote中完成了。
详情
在我的表单字段中添加了summernote
directions = 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不是函数”,与
有关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之外使用图片上传。
感觉我错过了什么,但看不到什么。
提前致谢。
答案 0 :(得分:0)
django-summernote
附带支持图片上传的后端支持。因此,您不必为此编写自己的后端。 MEDIA_ROOT
或MEDIA_URL
设置可能包含错误的上传价值 - 权限问题或无效路径。
使用runserver
运行django项目,请在尝试上传图像后检查浏览器控制台(inspect)和python控制台。
并且还可以参考Need a minimal Django file upload example来处理django项目上的文件。