Django Media Directory HTTP 404 для загруженных изображений - PullRequest
0 голосов
/ 10 февраля 2019

Структура моего проекта:

- 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'))
]

Теперь мне нужно получить доступ к /avatars/*.jpg файлам через URL-адрес, такой как http://127.0.0.1:8000/avatars/*.jpg

Но он не работает (просто 404).В чем проблема?

1 Ответ

0 голосов
/ 10 февраля 2019
  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)
    
...