2014-11-06 118 views
3

我最近实施了django-summernote与我的形式,这适用于文本。但是,我很难确切了解图片上传的工作原理。有没有人有关于如何完成的一些意见?django-summernote图像上传

问题

当选择从文件与Summernote的图像时,插入图像按钮被去激活(工作正常的图像链接)。我没有写一个自定义的'upload_to'函数,但是当我得到它时,这已经在django-summernote中完成了。

详细根据文档

  1. 安装的Django-summernote。
  2. 添加summernote到网址,并在INSTALLED_APPS
  3. 添加summernote到我的表单字段

    方向= forms.CharField( 插件= SummernoteInplaceWidget(ATTRS = { '的maxlength': '4000'}),需要 =假, )

  4. 在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日:

当选择的图像,下面的错误是在控制台中给出:“不确定是不是一个函数”,这是关系到

imageInput.fileupload(); 

的“插入图像“按钮被禁用。

由于我的项目处于开发模式,因此我的设置中有DEBUG = True

我的网址是这样的:

urlpatterns += patterns('', 
    url(r'^summernote/', include('django_summernote.urls')), 
) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) 

MEDIA_ROOTMEDIA_URL设置为:

MEDIA_ROOT = path.join(path.dirname(__file__), 'media',) 
MEDIA_URL = '/media/' 

我用图片上传Django的summernote之外使用这些设置。

感觉像我失去了一些东西,但不能看到什么。

在此先感谢。

回答

0

django-summernote附带后端支持图像上传开箱。所以你不必为它编写自己的后端。MEDIA_ROOTMEDIA_URL设置可能有错误的上传值 - 权限问题或无效路径。

使用runserver运行django项目,请在尝试上传图片后检查浏览器控制台(检查)和python控制台。

并且还可以参考Need a minimal Django file upload example来处理django项目中的文件。

+0

感谢您的反馈,@lqez。不幸的是,我仍然无法使它工作。更多细节将添加到原始帖子中。你介意快点看看吗?当我从文件中选择图像时,会发生上述错误。 – kennha 2014-11-29 19:43:11