2016-07-27 15 views
0

私はHTMLテンプレートにオブジェクトのリストをレンダリングしているDjangoでviews.pyを持っています。すべてがうまくいきます。さて、オブジェクトにはオブジェクトIDが関連付けられています。そして私は 'static/images /'ディレクトリにあるイメージをオブジェクトIDと同じ名前にしました。imgタグsrc変数urlが動作しない

画像1.jpgはオブジェクトID = 1のオブジェクトに対応し、オブジェクトID = 2の場合は2.jpgなどとなります。

私のHTMLのimgタグにイメージをロードしますが、imgタグのsrc URLはオブジェクトIDに依存します。続い

は私のHTMLテンプレートである:

{% for result in results %} 
    <li class="card" id="card"> 
     <tr> 
      <td> 
       <div class="card-image-container" id="card-image-container"> 
        <img class="card-image" id="card-image" data-card-id="{{result.id}}" src="{% static 'images/{{ result.id}}.jpg' %}"> 
       </div> 
      </td> 
      <td> 
       <div class="card-info-container" id="card-info-container"> 
        <p> {{ result.card_name }} </p> 
       </div> 
      </td> 
     </tr> 
    </li> 
{% endfor %} 

HTMLを解析することができないように上記動作していない{{result.id}}。 私のハードコードのURLの値は、次のように言う場合:

src="{% static 'images/1.jpg' %}" 

その後、上記が正常にすべてのli要素について1.JPGをロードしますが、私がしたいことは、{{に従って形成するURLですresult.id}}の値です。

私は以下のリンクに記載されているソリューションを試してみましたが、何も私のために働いていませんでした。

リンク - >Reference template variable within Jinja expression

Variable within filename in jinja2

Variable in Flask static files routing [url_for('static', filename='')]

すべてのヘルプは理解されるであろう。あなたはget_static_prefixdocumentation)を使用することができます

答えて

1

:あなたはあなたの答えで述べたように、私は直接私のURLでget_static_prefix使用している場合は

{% load static %} 
<img class="card-image" id="card-image" data-card-id="{{result.id}}" src="{% get_static_prefix %}images/{{ result.id}}.jpg"> 
+0

を、私はそのsettings.pyの値または何を指定する必要がありますか?上記を使用してCozは私に17行目の無効なブロックタグであるTemplateSyntaxErrorを与えています: 'get_static_prefix'、 'empty'または 'endfor'が必要です。このタグを登録または読み込むのを忘れましたか? 私はHTMLで{%static%}を使用する前に静的に読み込む必要があるように、{%get_static_prefix%}などを読み込む必要がありますか? –

+0

'{%load static%}'を使用して状態をリンクしたドキュメントは十分であるはずですが、私は答えを修正しました。 – rafalmp

+0

さて、それは働いて.. !!私はすでにstaticfilesから静的をロードしていると思ったので、最初は静的にロードしていませんでした。しかし、静的に読み込んだ後でも機能しました。ありがとう.. !! –

関連する問題