我将Django (1.7.3)与zinnia (0.15.1)结合使用,我在呈现“图像以供说明”方面遇到了问题,您可以为博客条目添加该图像。
我有以下urls.py文件:
我的头等舱
# -*- coding: utf-8 -*-
from django.conf.urls import patterns, include, url
from django.contrib import admin
urlpatterns = patterns('',
url(r'^admin/', include(admin.site.urls)),
url(r'^ecv/', include('extended_cv.urls',namespace="ecv")),
url(r'^weblog/', include('zinnia.urls', namespace='zinnia')),
url(r'^comments/', include('django_comments.urls')),
)settins.py文件:
# -*- coding: utf-8 -*-
** Snip**
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
TEMPLATE_DEBUG = True
# For using django.contrib.sites
SITE_ID = 2
# Application definition
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'pro',
'extended_cv',
'zinnia', # Added for zinnia blog usage
'django.contrib.sites',# Added for zinnia blog usage
'django_comments',# Added for zinnia blog usage
'mptt',# Added for zinnia blog usage
'tagging',# Added for zinnia blog usage
)
MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
)
TEMPLATE_CONTEXT_PROCESSORS = (
'django.contrib.auth.context_processors.auth',
'django.core.context_processors.i18n',
'django.core.context_processors.request',
'zinnia.context_processors.version',
)
** Snip**
USE_I18N = True
USE_L10N = True
USE_TZ = True
STATIC_URL = '/static/'当我使用admin UI为zinnia创建一个条目时,当我添加一个图像时,没有出现任何错误,并且新条目被保存到数据库中,没有任何警告。然后,图像出现在服务器树文件中的adress TopDir/upload/zinnia/date/of/publication/index_IKd2N0d.jpeg中。
但是,当我从weblog应用程序中读取新条目时,我正确地看到了新条目,但没有看到图像。此外,服务器输出以下错误:GET HTTP/1.1“404 8922
我想这个问题有点复杂,如果您需要更多的信息,我很乐意给您更多的信息。
谢谢。
发布于 2015-01-18 22:04:50
正如Daniel在评论中所解释的,答案包括定义变量MEDIA_URL和MEDIA_ROOT,以及重写https://docs.djangoproject.com/en/1.7/howto/static-files/#serving-files-uploaded-by-a-user-during-development中解释的顶级urls.py文件。
urlpatterns = patterns('',
url(r'^admin/', include(admin.site.urls)),
url(r'^ecv/', include('extended_cv.urls',namespace="ecv")),
url(r'^weblog/', include('zinnia.urls', namespace='zinnia')),
url(r'^comments/', include('django_comments.urls')),
) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)工作就完成了。
https://stackoverflow.com/questions/28013711
复制相似问题