Django静态文件有效,但媒体无效

问题描述 投票:0回答:1

我不明白为什么我的媒体文件没有像我的静态文件那样显示。我的问题与Django media not loading, static files working非常相似,因为我也在使用django-oscar,但答案对我不起作用。

base.py

STATIC_ROOT = os.path.join(BASE_DIR, 'static')
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'
# MEDIA_ROOT = r'C:\Users\Michal\django-react-boilerplate\home\media'
STATIC_URL = '/static/'
print(STATIC_ROOT)
print(MEDIA_ROOT)

打印结果

C:\Users\Michal\django-react-boilerplate\home\static
C:\Users\Michal\django-react-boilerplate\home\media

两个文件夹都有相同的文件,但是如果我键入127.0.0.1:8000/static/fashion.jpg /,它将返回图像。

[127.0.0.1:8000/media/fashion.jpg /返回错误500模板不存在。

向MEDIA_ROOT添加完整路径图像没有帮助。

python django django-oscar
1个回答
0
投票

由于您似乎正在使用开发服务器,因此请检查urls.py,确保已为媒体添加了静态url。

urlpatterns = [
    path('admin/', admin.site.urls),
]+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

您还可以使用调试设置将其分开,这样它就不会在生产中使用,但这可以助您一臂之力。没有上述代码,Django无法知道将localhost / media定向到何处,因为没有分配URL。

© www.soinside.com 2019 - 2024. All rights reserved.