Django-Oscar图像错误

时间:2015-02-02 23:57:27

标签: python django image django-oscar

我在Mac(小牛队)中使用Django-Oscar。并且一切看起来都很好,但它没有显示任何正确上传的图像。在一开始我认为这是一个解决问题,但它将图片保存在正确的文件夹中。所以这不是问题。然后我尝试安装libjpeg,因为它是在安装教程中推荐的。

我已经卸载了Pillow

pip uninstall pillow

然后我用这个命令,我在网上找到安装libjpeg

brew install libjpeg 
然后我再次安装枕头,然后一切都是一样的。它仍然没有显示任何图像,终端显示已经安装了jpeg-8d

有人能帮助我吗? 感谢

1 个答案:

答案 0 :(得分:12)

您的媒体文件夹可能没有公开访问权限,这可能是图片未显示的原因,请将您的媒体文件夹添加到urls.py中的网址模式

检查下面的示例urls.py

from django.conf.urls import patterns, include, url
from django.contrib import admin
from oscar.app import application
from django.conf import settings
from django.conf.urls.static import static

urlpatterns = patterns('',
    url(r'^admin/', include(admin.site.urls)),
    url(r'^i18n/', include('django.conf.urls.i18n')),
    url(r'', include(application.urls)),
)+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

在settings.py文件中,确保定义media_root和media_url

location = lambda x: os.path.join(
os.path.dirname(os.path.realpath(__file__)), x)

TEMPLATE_DIRS = (
    location('templates'),
    OSCAR_MAIN_TEMPLATE_DIR,
)
STATIC_URL = '/static/'
STATIC_ROOT = location('static')
MEDIA_URL = '/media/'
MEDIA_ROOT = location('media')
THUMBNAIL_DEBUG = True
THUMBNAIL_KEY_PREFIX = 'oscar-sandbox'

如果这些更改对您有用,请告诉我