4

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

我已经卸载了枕头

pip uninstall pillow

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

brew install libjpeg 

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

有人可以帮助我吗?谢谢

4

1 回答 1

17

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

检查下面的示例 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'

让我知道这些更改是否适合您

于 2015-02-16T07:19:02.663 回答