【问题标题】:Django-Oscar Images ErrorDjango-Oscar 图片错误
【发布时间】:2015-04-02 01:37:14
【问题描述】:

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

我已经卸载了枕头

pip uninstall pillow

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

brew install libjpeg 

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

有人可以帮助我吗? 谢谢

【问题讨论】:

  • 您是否遇到任何错误或只是图片未显示在您的网页上。在这种情况下,只需将您的媒体文件夹添加到 urls.py,因为您的媒体文件夹可能没有公共访问权限,这可能是图像未显示的原因。将此添加到 urls.py + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
  • 是的,发布了完整的文件作为答案,让我知道这是否有效
  • 感谢阿努拉格。你的帖子和这两行额外的行解决了我的问题。 from django.conf.urls.static import static from django.conf import settings非常感谢
  • 很高兴为您提供帮助,也请接受答案

标签: python django image django-oscar


【解决方案1】:

您的媒体文件夹可能没有公共访问权限,这可能是图像未显示的原因,请将您的媒体文件夹添加到 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'

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

【讨论】:

  • 谢谢,帮了大忙!
猜你喜欢
  • 2014-05-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-19
  • 1970-01-01
  • 2018-06-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多