web-dev-qa-db-ja.com

Djangoテンプレートimg srcが機能しない

Djangoテンプレートファイル「base.html」でimg srcタグを使用して画像を印刷したい:

<!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>

Views.pyで次のように定義します。

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

しかし、画像はブラウザに表示されません。シンプルなhtmlファイルとして開くと、ブラウザに表示されます。

16
user1680859

Djangoがこの画像へのパスを知らないためです。
プロジェクトルート(settings.pyファイルが存在する場所)にstatic/という名前のフォルダーを作成し、次にimages/という名前のフォルダーを作成します。

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

そして、それを次のように変更します。

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

詳細 ここ

10
thikonom

最近のバージョンのDjango

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

17
chandan

Djangoテンプレートの先頭にload staticタグを追加する必要があります。以下のコードで頑張ってください。

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