Django не отображает статические файлы изображений, локализованные в каталоге MEDIA

Я относительно новичок в Django. У меня есть приложение, в котором я указываю MEDIA_URL и MEDIDA_ROOT в файле settings.py в корне проекта. Мой парный проект выглядит следующим образом:

/
../files
../files/media
../files/media/logo.png
../solid/settings.py
../solid/urls.py
/web/templates (contains all my HTML)

внутренние настройки у меня

MEDIA_ROOT   = BASE_DIR / 'files'
MEDIA_URL = '/media/'
DEFAULT_FILE_STORAGE = BASE_DIR  /'files'

и файлы в директории "media" имеют подпапку images и logo.png

в моем шаблоне (index.html) в каталоге web/template я пытаюсь сослаться на него

<img src="{{% MEDIA_ROOT %}}/images/ourlogo.png" class="" alt="Logo" height="40">

В файле solid/urls.py у меня есть:

urlpatterns = [
    path('admin/', admin.site.urls),
    path('',web_views.index,name="index"),
    ######################################################
    path('login/',login_page,name="login"),
    path('logout/',log_out,name="logot"),
    path('register/',register,name="register"),
    #######################################################
    path('upload/',web_views.upload,name="upload"),
    path('list/',web_views.list_uploads,name="list"),
    path('details/<int:oid>', web_views.view_download,name='view_download'),
    path('download/<str:filename>', web_views.download_file,name='download_file'),
    #######################################################
    path('paypal/', include("paypal.standard.ipn.urls")),
    path('payment/',web_views.upgrade,name="payment"),
    path('paypal-cancel/', PaypalCancelView.as_view(), name='paypal-cancel'),
    path('paypal-return/', PaypalReturnView.as_view(), name='paypal-return'),
    #######################################################
]+static('s/',document_root=settings.MEDIA_ROOT)

изображение не рендерится.

settings.py

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR,'static')
STATICFILES_DIRS =[
    os.path.join(BASE_DIR,'project_name/static')
]

MEDIA_URL ='/media/'
MEDIA_ROOT = os.path.join(BASE_DIR,'media')

project_name/urls.py добавьте эти две строки с urlspatterns

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

если необходимо получить изображение из базы данных

 <img src="{{ img.photo_2.url }}" alt="" class="img-fluid">

здесь "img" - имя ключа словаря. photo_2 - имя поля базы данных. и чтобы показать изображение, вы поставили .url после этого.

статическое изображение

  <link href="{% static 'img/favicon.png' %}" rel="icon">
Вернуться на верх