所以我正在构建一个简单的博客来跟踪我的项目。我决定使用 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
