未正确找到/加载图像 - 404

时间:2017-09-16 19:57:44

标签: python django django-oscar

我正在使用Oscar-Django e-commerce项目,我正在关注教程Frobshop

网站已启动并运行,但是,当我从管理信息中心添加产品并上传图片时,缩略图未加载,当我在客户视图中查看产品时,图片丢失了

这是我在settings.py文件中的配置:

  

STATIC_URL ='/ static /'
  MEDIA_URL ='/ media /'
  MEDIA_ROOT =位置(“公共/媒体”)
  STATIC_ROOT = location('public / static')

当我从客户视图查看产品时,终端显示404 GET

  

“GET /media/cache/45/ec/45ecfa8787510d3ed6997925b6e26ed7.jpg HTTP / 1.1”404 4880

这就是Customer View - missing picture

的样子

当我进入网站的管理部分并尝试点击产品表中的图片时,它也会显示“找不到网页”,这次的网址是

  

http://127.0.0.1:8000/media/images/products/2017/09/hoodie1.jpeg

Page not found

当我浏览特定产品(仍然在管理网站上)时,此产品的图像部分,缩略图不会显示,终端显示此

  

“GET /media/cache/cd/8a/cd8af791d513ec91a583b0733070d9a7.jpg HTTP / 1.1”404 4880

Admin section - product missing picture

以下是来自URLs.py

的模式
  

urlpatterns = [       url(r'^ i18n /',include('django.conf.urls.i18n')),

# The Django admin is not officially supported; expect breakage.
# Nonetheless, it's often useful for debugging.
url(r'^admin/', include(admin.site.urls)),

url(r'', include(application.urls)), ]

我在Finder中看到此路径下的图片

  

/ frobshop / frobshop /公共/媒体/图像/产品/ 2017/09

任何帮助解决这个问题表示赞赏!

谢谢!

1 个答案:

答案 0 :(得分:3)

您需要在urls.py

的底部添加以下内容
from django.conf import settings
if settings.DEBUG:
    from django.conf.urls.static import static
    from django.contrib.staticfiles.urls import staticfiles_urlpatterns
    # Serve static and media files from development server
    urlpatterns += staticfiles_urlpatterns()
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

这仅限于settings.DEBUG==True生产时,您希望使用nginx或同等产品为静态和媒体提供服务。

这不是奥斯卡文档中涵盖的内容,因为它是Django关注的问题,但应该提及它。