图片不正确 found/loading - 404

Images are not found/loading correctly - 404

我正在使用 Oscar-Django e-commerce project, and I am following the tutorial Frobshop

网站已启动 运行,但是,当我从管理仪表板添加产品并上传图片时,缩略图未加载,而当我在客户上查看产品时查看,图片不见了

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

STATIC_URL = '/static/'
MEDIA_URL = '/media/'
MEDIA_ROOT = location("public/media")
STATIC_ROOT = location('public/static')

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

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

这是它的样子

当我转到网站的管理部分并尝试单击产品 table 中的图片时,它也显示 "Page not found",这次 URL

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

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

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

这是来自 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/public/media/images/products/2017/09

感谢任何帮助解决这个问题的人!

谢谢!

您需要在 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 或等效服务提供静态和媒体服务。

这不是 Oscar 文档中涉及的内容,因为它是 Django 级别的问题,但可能应该提及。