2017-09-16 159 views
0

我现在用的是Oscar-Django e-commerce项目,我的教程Frobshop图片未找到/加载正确 - 404

该网站建立和运行,但是之后,当我添加一个产品 - 从管理员dashboard-并上传图片,缩略图未加载,并且当我在客户视图上查看产品时,图片丢失。

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

STATIC_URL = '/静态/'
MEDIA_URL = '/媒体/'
MEDIA_ROOT =位置( “公共/媒体”)
STATIC_ROOT =位置( '公共/静态')

当我从客户视图查看产品,终端被示出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 /',包括( '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

任何帮助搞清楚这一点,表示赞赏!

谢谢!

回答

2

您将需要添加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的关注点,但应该提及它。

+0

这工作,谢谢! –