Шаблон Django img src не работает

Я хочу напечатать изображение, используя тег img src в файле шаблона Django "база.html":

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en">
<head>
    <title>Foto</title>
</head>
<body>
    <h1>My helpful timestamp site</h1>
    <img src="google.png" / >
    <hr>
    <p>Made by ... </p>
</body>
</html>

In views.py я определяю:

def hello(request):
    return render_to_response('base.html')

но изображение не отображается в браузере. Если я открою его как простой html-файл, он появится в браузере.

4 ответов


это происходит потому, что Django не знает путь к этому изображению.
Создайте папку с именем static/, а затем папку с именем images/ в вашем корне проекта(где ваш settings.py файл находится).

my_project/
    my_project/ 
        settings.py
        static/
           images/
             google.png

и затем измените его на:

<img src="{{STATIC_URL}}images/google.png" / >

больше здесь.


в последних версиях Джанго

<img src="{% static 'path/to/image.ext' %}"/>


вы должны добавить статический тег load в начале вашего Джанго шаблон, удачи с приведенным ниже кодом.

{% load static %} 
<img src="{% static 'path/to/image.ext' %}"/>

в самой последней версии Django мы отложили все сложности:

(Не забывайте, что вам нужно сохранить все в самой статической папке )

Итак, в вашем шаблоне:

{% load static %} <img src="{% static 'path_to_save/google.png' %}"/>