上传图像的 Django 媒体目录 HTTP 404
Django Media Directory HTTP 404 for Uploaded Images
我的项目结构是:
- api/
- urls.py
...
- avatars/
- 16701016.jpg
- 16701019.jpg
...
- frontend/
- static/
- frontend/
- templates/
- urls.py
...
- website/
- settings.py
- urls.py
...
settings.py
文件的一部分:
STATIC_URL = '/static/'
MEDIA_ROOT = os.path.abspath('../avatars/')
MEDIA_URL = '/avatars/'
/website/urls.py
的内容:
urlpatterns = [
path('admin/', admin.site.urls),
path('api/', include('api.urls')),
re_path(r'^.*', include('frontend.urls'))
]
现在我需要通过 URL 访问 /avatars/*.jpg
文件,例如 http://127.0.0.1:8000/avatars/*.jpg
但它不起作用(只是 404)。有什么问题?
将 MEDIA_ROOT 值更改为:
MEDIA_ROOT = os.path.abspath('../avatars/')
至:
MEDIA_ROOT = os.path.abspath('avatars')
并在 urls.py
中附加以下代码:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
我的项目结构是:
- api/
- urls.py
...
- avatars/
- 16701016.jpg
- 16701019.jpg
...
- frontend/
- static/
- frontend/
- templates/
- urls.py
...
- website/
- settings.py
- urls.py
...
settings.py
文件的一部分:
STATIC_URL = '/static/'
MEDIA_ROOT = os.path.abspath('../avatars/')
MEDIA_URL = '/avatars/'
/website/urls.py
的内容:
urlpatterns = [
path('admin/', admin.site.urls),
path('api/', include('api.urls')),
re_path(r'^.*', include('frontend.urls'))
]
现在我需要通过 URL 访问 /avatars/*.jpg
文件,例如 http://127.0.0.1:8000/avatars/*.jpg
但它不起作用(只是 404)。有什么问题?
将 MEDIA_ROOT 值更改为:
MEDIA_ROOT = os.path.abspath('../avatars/')
至:
MEDIA_ROOT = os.path.abspath('avatars')
并在
urls.py
中附加以下代码:urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)