首页 文章

Django Ckeditor图像浏览器无法找到图像

提问于
浏览
2

所以我正在构建一个简单的博客来跟踪我的项目 . 我决定使用CKeditor作为wysiwyg编辑器 . 除了它的图像部分之外,我能够完成所有工作 . 当我点击“图像浏览”时,我无法在服务器中查看图像,每当我上传图像时,它都会上传,但我无法查看 . 它弹出一个红色的'X' .

链接到显示正在发生的事情的屏幕截图:http://imgur.com/a/ODk8p

下面是我将CKEditor添加到已安装的应用程序中的代码我的项目的settings.py

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'projects',
    'ckeditor',
)

稍后在我的项目的settings.py中我有CKEditor的设置:

MEDIA_ROOT = os.environ.get('MEDIA_ROOT',os.path.join(BASE_DIR, 'media'))
MEDIA_URL = '/media/'

CKEDITOR_UPLOAD_PATH   = "uploads/"
CKEDITOR_UPLOAD_SLUGIFY_FILENAME = False
CKEDITOR_RESTRICT_BY_USER = True
CKEDITOR_JQUERY_URL = 'http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js'
CKEDITOR_CONFIGS = {
    'default': {
        'removePlugins': 'stylesheetparser',
        'toolbar': 'Full',
        'height': 500,
        'width': 900,
    },
}

这是我的项目的models.py(现在看起来非常简单):

from django.db import models
from ckeditor.fields import RichTextField

class Project(models.Model):
    title = models.CharField(max_length=300)
    banner = models.ImageField(upload_to='banners/')
    body = RichTextField(config_name='default')
    version = models.CharField(max_length=140)

    def __str__():
        return self.title

我也有这一行在我的项目的urls.py中添加CKEditor url:

url(r'^ckeditor/', include('ckeditor.urls')),

有什么想法可能是错的吗?除了图像,一切都有效 . 任何帮助都非常感谢

3 回答

  • 0

    如果这是在DEBUG / runserver模式下,你是否记得添加

    from django.conf import settings
    from django.contrib.staticfiles.urls import staticfiles_urlpatterns
    
    if settings.DEBUG:
        urlpatterns += patterns(
            '',
            url(
                r'^media/(?P<path>.*)$',
                'django.views.static.serve', {
                    'document_root': settings.MEDIA_ROOT,
                }
            ),
        )
    
    urlpatterns += staticfiles_urlpatterns()
    

    到你的 urls.py

  • 1

    您缺少ckeditor图像后端

    CKEDITOR_IMAGE_BACKEND = "pillow"
    
  • 0

    每当我处理用户文件和图像上传时,10次中有9次问题是由于“CKEDITOR_UPLOAD_PATH”文件夹上的权限错误造成的 .

    红色X可能是一个后备图像,以防出现问题,例如将上传保存到磁盘 .

相关问题