Статические файлы не загружаются на Django

Мои статические файлы не загружаются на Django. Я запускаю это на своей локальной машине. Расположение example.png - это main/static/main/example.png. main - это приложение.

Вот мой settings.py:

Мой шаблон, index.html:

{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    
</head>
<body>
    <nav>
        <div class="logo">
            Tutorials.
        </div>
    </nav>
    <img src="{% static 'main/example.png' %}" alt="My image">


</body>
</html>

Статические файлы, вызванные в index.html, не загружаются. Текст alt виден.

Следуйте этому

install:

pip install whitenoise

затем добавьте это поверх установленных приложений.

'whitenoise.runserver_nostatic', 

Теперь статические файлы будут загружаться.

Для получения дополнительной информации следуйте документация поwhitenoise

Во-первых, я думаю, что у вас не настроены статические файлы и медиафайлы. Попробуйте настроить их следующим образом. В вашем settings.py убедитесь, что вы включили STATICFILES_DIR, STATIC_ROOT, MEDIA_URL, MEDIA_ROOT в settings.py и затем добавьте следующие строки STATIC_URL = 'static/'

 MEDIA_URL = 'media/'
 STATICFILES_DIRS = [BASE_DIR / 'static']
 STATIC_ROOT = BASE_DIR / 'staticfiles/'
 MEDIA_ROOT = BASE_DIR / 'static/media'
 

Этим вы указываете django, где взять ваши статические файлы. Теперь вам нужно добавить ссылку на статические файлы в ваш проект urls.py. Вы добавите ее как показано ниже.

 from django.conf import settings
 from django.conf.urls.static import 
 static
 
 urlpatterns = [
      .......
    ]
 urlpatterns += 
 static(settings.STATIC_URL, 
 document_root=settings.STATIC_ROOT)
 urlpatterns += static(settings.MEDIA_URL, 
 document_root=settings.MEDIA_ROOT)

Последняя вещь, которую, как я предполагал, вы уже сделали, это создание папки static в корне проекта и внутри этой папки static создайте папку media, в которой будут находиться все изображения, которые вы хотите загрузить. Теперь запустите python manage.py collectstatic

Вернуться на верх