django-summernote图片上传

时间:2014-11-06 21:36:06

标签: django summernote

我最近使用我的表单实现了django-summernote,这适用于文本。但是,我很难准确地了解图片上传的工作原理。有没有人对如何完成有一些意见?

问题

使用Summernote从文件中选择图像时,插入图像按钮被禁用(适用于图像链接)。我没有写一个自定义的'upload_to'函数,但是当我得到它时,这已经在django-summernote中完成了。

详情

  1. 根据文件安装了django-summernote。
  2. 在网址和INSTALLED_APPS
  3. 中添加了summernote
  4. 在我的表单字段中添加了summernote

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

  5. 还在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']],
          ], }
    
  6. 我是否还必须为附件(图像)编写自己的后端? 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之外使用图片上传。

    感觉我错过了什么,但看不到什么。

    提前致谢。

1 个答案:

答案 0 :(得分:0)

django-summernote附带支持图片上传的后端支持。因此,您不必为此编写自己的后端。 MEDIA_ROOTMEDIA_URL设置可能包含错误的上传价值 - 权限问题或无效路径。

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

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