2017-05-24 4 views
0

사전의 내용을 웹 페이지에 표시 할 수없는 문제가 있습니다.플라스크를 사용하여 사전의 내용을 웹 페이지에 표시하는 방법

web_indiv[url_sequence] = {'url' : converted_url , 'name' : x.name, 'count' : web_count_current } 

    return render_template('video.html', web_data = web_indiv) 

web_indiv 루프를 사용하여 채워하고 web_data 한 video.html로 전달된다.

샘플 사전

{1: {'url': 'http://www.drpeppersnapplegroup.com/', 'name': 'Dr. Pepper-Snapple Group', 'count': 57}, 2: {'url': 'http://www.rccolainternational.com/', 'name': 'Royal Crown Cola', 'count': 41}} 

참고 : 그것은 그 안에 또 다른 사전을 포함하는 사전입니다.

이것은 내 html 파일에 이미 있습니다.

{% for key1,line in web_data.items() %} 
    {% for key2,line_item in line.items() %} 
    <tr> 
     <td class="col-md-2">{{ line_item['url'] }}</td> 
     <td class="col-md-2">{{ line_item['name'] }}</td> 
     <td class="col-md-2">{{ line_item['count'] }}</td> 
    </tr> 
    {% endfor %} 
{% endfor %} 

데이터가 웹 페이지에 표시되지 않습니다.

제 쿼리를 읽는 데 시간을내어 주셔서 감사합니다. 그냥 딕셔너리 인 경우

답변

0

, 당신이 시도 할 수 다음 web_data[url_sequence]가 사전이라고

<html> 
{{web_data[url_sequence]}} 
<table> 
    <tr> 
     {%for value in web_data[url_sequence].values()%} 
      <td class="col-md-2">{{ value }}</td> 
     {% endfor %} 
    </tr> 
</table> 
</html> 

참고.

주문이 (URL, 이름을 다음 계산됩니다)이 하나

<tr> 
    <td class="col-md-2">{{ web_data[url_sequence].url }}</td> 
    <td class="col-md-2">{{ web_data[url_sequence].name }}</td> 
    <td class="col-md-2">{{ web_data[url_sequence].count }}</td> 
</tr> 

실제 예 :

당신이 사전 web_indiv을 가정, 그럼 당신이 video.html

을 템플릿을 렌더링 할
@app.route('/', methods=['GET']) 
def root(): 
    web_indiv = {} 
    url_sequence = 'test' 
    web_indiv[url_sequence] = {'url':'testabc','name':'hello','count': 4} 
    return render_template('video.html', web_data = web_indiv, url_sequence = url_sequence) 

그런 다음 같은 템플릿의 DICT를 사용할 수 있습니다

<tr> 
    <td class="col-md-2">{{ web_data[url_sequence].url }}</td> 
    <td class="col-md-2">{{ web_data[url_sequence].name }}</td> 
    <td class="col-md-2">{{ web_data[url_sequence].count }}</td> 
</tr> 

있는 HTML이 방법을 보여줍니다 :

testabc hello 4 
+0

답변 해 주셔서 감사합니다. 하지만 url_sequence의 값을 html로 전달해야합니까? – jeremybcenteno

+0

@JeremyCenteno 템플릿의 dict 사용법을 이해할 수 있도록 실제 예제 (답변이 업데이트 됨)를 참조 할 수 있습니다. –

+0

@JeremyCenteno 위의 예에서 볼 수 있듯이 사전에 사용할 수 있도록 url_sequence 변수를 템플릿에 전달해야합니다. –

0
{% for key2,line_item in web_data[url_sequence].items %} 
    <tr> 
     <td class="col-md-2">{{ line_item }}</td> 
    </tr> 
{% endfor %} 
+0

안녕하세요, 당신의 의견에 감사드립니다. 하지만 Jinja2는 UndefinedError를 발생시킵니다. Btw, 루프가 생성하는 사전 샘플을 포함하는 것을 잊었습니다. 이 글을 쓰는 시점에서 샘플 사전이 추가되었습니다. – jeremybcenteno

+0

@JeremyCenteno 답변을 – doru

+0

업데이트했습니다.이 코드는 질문에 대답 할 수 있지만 방법 및/또는 왜 문제를 해결하는지에 대한 추가 컨텍스트를 제공하면 대답의 장기적인 가치가 향상됩니다. - [검토 중] (https://stackoverflow.com/review/low-quality-posts/16224168) –