【发布时间】:2016-09-19 11:11:22
【问题描述】:
这是Django Ckeditor image browser not finding images 的副本,但我认为那里的答案是错误的(其中有一个明显的错误,带有未定义的变量,更不用说缺少 Python 缩进了)。
我正在使用 Django CKEditor 5.0.3 和 Django 1.9.6。我可以在我的管理员中上传图片,但它们在管理员中显示为红色 X,并且没有出现在我的网站上。
我还在为MEDIA_ROOT 和诸如此类而苦苦挣扎,但我认为我做对了:
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, "static"),
)
MEDIA_URL = "image_upload/"
MEDIA_ROOT = os.path.join(BASE_DIR, "image_upload")
CKEDITOR_UPLOAD_PATH = 'uploads/'
CKEDITOR_IMAGE_BACKEND = "pillow"
CKEDITOR_UPLOAD_SLUGIFY_FILENAME = False
我的urls.py,包括我尝试清理链接的答案:
from django.conf import settings
from django.conf.urls import url, include
from django.conf.urls.static import static
from django.contrib import admin
from mainsite.views import HomepageView, AboutView, ContactView
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
urlpatterns = [
url(r'^admin/', admin.site.urls, name="admin"),
url(r'^$', HomepageView.as_view(), name="homepage"),
url(r'^about/', AboutView.as_view(), name="about"),
url(r'^contact/', ContactView.as_view(), name="contact"),
url(r'^blog/', include("blog.urls", namespace="blog")),
url(r'^ckeditor/', include('ckeditor_uploader.urls')),
]
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
if settings.DEBUG:
urlpatterns += [
url(r'^media/(?P<path>.*)$',
'django.views.static.serve', {
'document_root': settings.MEDIA_ROOT,
}
),
]
urlpatterns += staticfiles_urlpatterns()
【问题讨论】:
-
对我有用的......将 MEDIA_URL = '/media/' 更改为 MEDIA_URL = 'media/' 。注意缺少的正斜杠。