Django не отображает изображения в разработке
Недавно я начал изучать Django, и я также новичок в веб-разработке. Я столкнулся с проблемой, когда Django не загружает изображения, но загружает CSS и JS файлы. Я выполнил настройку, как показано в документации Django, а также просмотрел множество видео на youtube. Моя настройка почти такая же. Но изображения по-прежнему не загружаются. Ниже приведен Pip freeze моей виртуальной среды
(venv) PS E:\django\myproject> pip freeze
asgiref==3.4.1
Django==3.2.8
pytz==2021.3
sqlparse==0.4.2
Ниже приведен мой файл Settings.py
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static'),
]
HTML
{%for product in products %}
<div class="card" style="width: 18rem;">
<img class="card-img-top" src="{% static 'products/images/flour.png' %}" alt="No Image">
<div class="card-body">
<h5 class="card-title">{{product.product_name}}</h5>
<p class="card-text">{{product.product_description | default:"Nothing"}}</p>
<a href="/products/{{product.id}}" class="btn btn-primary">Update</a>
</div>
</div>
{%endfor%}
Структура папки
myproject
- settings.py
- urls.py
products
- static
- Products
- images
- flour.jpg
- templates
- base.html
- **products.html** #Image is to be loaded in this page
- models.py
- urls.py
- views.py
Ошибка в консоли Ошибка в консоли Пожалуйста, дайте мне знать, если требуется что-то еще Заранее спасибо
Ниже приведен журнал с сервера
System check identified no issues (0 silenced).
October 29, 2021 - 13:02:41
Django version 3.2.8, using settings 'myproject.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
{'products': <QuerySet [<Product: 120010>]>}
[29/Oct/2021 13:02:45] "GET /products/ HTTP/1.1" 200 1796
[29/Oct/2021 13:02:45] "GET /static/Products/styles/app.css HTTP/1.1" 200 40
[29/Oct/2021 13:02:45] "GET /static/products/scripts/app.js HTTP/1.1" 200 117
[29/Oct/2021 13:02:45] "GET /static/products/images/flour.png HTTP/1.1" 404 1935
1 Убедитесь, что у вас есть тег load static в верхней части html
2 Попробуйте прикрепить это к вашему url (к основному urls.py, а также к urls приложений на всякий случай)
from django.contrib import admin
from django.urls import path,include
**#These two lines and the last line after square bracket**
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('homepage.urls') ),
path('register/', include('registration.urls') ),
path('dashboard/', include('dashboard.urls') ),
path('teams/', include('team.urls') ),
path('matches/', include('match.urls') ),
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)