Изображение не отображается на моем сайте (django)
Я новичок в django. Я хотел загрузить изображение, но оно не отображается на сайте. Вместо этого он показывает иконку сломанного изображения. Я пытался использовать блок load static, но он все равно не работает.
Мой html-файл:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Website</title>
</head>
<body>
<h1>Hello</h1>
{% load static %}
<img src="{% static 'webdev/static/webdev/images/images.jpg' %}">
</body>
файлurls.py:
from django.contrib import admin
from django.urls import path
from homepage import views
urlpatterns = [
path('', views.home_page, name='home'),
path('admin/', admin.site.urls),
]
файлviews.py:
from django.shortcuts import render
from django.http import HttpResponse
def home_page(request, *args, **kwargs):
return render(request, 'home.html', {})
дерево файлов: https://i.stack.imgur.com/jtZ8t.png
В документации по обслуживанию статических файлов во время разработки объясняется, как установить статические файлы. Вам необходимо добавить представления, обслуживающие статические файлы, в каталог urlpatterns
:
from django.conf import settings
from django.conf.urls.static import static
from django.contrib import admin
from django.urls import path
from homepage import views
urlpatterns = [
path('', views.home_page, name='home'),
path('admin/', admin.site.urls),
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
Это будет обслуживать статические файлы, если DEBUG
установлено значение True
. В случае production (DEBUG = False
), Django не not обслуживает статические файлы. Тогда вы должны настроить веб-сервер (nginx/apache/...) на обслуживание статических и медиа файлов, или работать с CDN.
Кроме того, путь таков:
<img src="{% static 'webdev/images/images.jpg' %}">