上传图像的 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)。有什么问题?

  1. 将 MEDIA_ROOT 值更改为:

    MEDIA_ROOT = os.path.abspath('../avatars/')  
    

    至:

    MEDIA_ROOT = os.path.abspath('avatars')
    
  2. 并在 urls.py 中附加以下代码:

    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)