2017-09-16 157 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

這工作,謝謝! –