我在Mac(小牛队)中使用Django-Oscar。并且一切看起来都很好,但它没有显示任何正确上传的图像。在一开始我认为这是一个解决问题,但它将图片保存在正确的文件夹中。所以这不是问题。然后我尝试安装libjpeg,因为它是在安装教程中推荐的。
我已经卸载了Pillow
pip uninstall pillow
然后我用这个命令,我在网上找到安装libjpeg
brew install libjpeg
然后我再次安装枕头,然后一切都是一样的。它仍然没有显示任何图像,终端显示已经安装了jpeg-8d
有人能帮助我吗?
感谢
答案 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'
如果这些更改对您有用,请告诉我