2016-07-27 3 views
0

그래서 내 HTML 템플릿에 객체 목록을 렌더링하는 Django에 내 views.py가 있습니다. 모든 것이 잘 작동합니다. 이제 개체에는 개체 ID가 연결되어 있습니다. 그리고 'static/images /'디렉토리에있는 이미지의 이름을 객체 ID와 동일하게 지정했습니다.img 태그 src 변수 url이 작동하지 않습니다.

그래서 이미지 1.jpg는 객체 id = 1, 2.jpg, 객체 id = 2 등의 객체에 해당합니다.

이제 내 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의 값은 다음과 같이 말한다면 : 다음 위의 성공적 URL을 모든 리튬 요소의 1.JPG를로드,하지만 내가 원하는 것은

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

가에 따라 형성되는 {{ result.id}} 값.

다음 링크에서 주어진 해결책을 사용해 보았지만 나에게 도움이되지는 못했습니다.

링크는 ->

Variable within filename in jinja2

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

어떤 도움 Reference template variable within Jinja expression는 이해할 수있을 것이다.

답변

1

당신은 사용할 수 있습니다 get_static_prefix (documentation) :

{% 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의 값 또는 무엇을 지정해야합니까, 내 URL에 get_static_prefix를 사용하고 있다면? 위의 코드를 사용하여 Coz는 17 번 줄에 잘못된 블록 태그 인 'get_static_prefix', 'empty'또는 'endfor'가 필요하다는 TemplateSyntaxError를 제공합니다. 이 태그를 등록하거나로드하는 것을 잊었습니까? 그래서 내 HTML에서 {% static %}을 사용하기 전에 정적을로드해야하므로 {% get_static_prefix %} 또는 다른 것을로드해야합니까? –

+0

'{% load static %}'을 사용하여 상태를 연결 한 문서만으로 충분할 것입니다. 제 대답을 수정했습니다. – rafalmp

+0

그래, 효과가 .. !! 정적 파일에서 이미 정적 파일을로드하고 있다고 생각했기 때문에 처음에는 정적 파일을로드하지 않았습니다. 하지만 정적으로로드 한 후에도 효과가있었습니다. 감사..!! –