Skip to main content
 首页 » 编程设计

python之Django Ckeditor 图像浏览器找不到图像

2025年05月04日33shangdawei

所以我正在构建一个简单的博客来跟踪我的项目。我决定使用 CKeditor 作为所见即所得的编辑器。除了它的图像部分,我能够让所有它工作。当我点击“图片浏览”时,我无法查看服务器中的图片,每当我上传图片时,它确实会上传但我无法查看。它弹出为红色“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')), 

任何想法可能是错误的?除了图像,一切正常。 非常感谢任何帮助

请您参考如下方法:

如果这个是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