복붙노트

[PYTHON] 진자 템플릿의 사전 목록

PYTHON

진자 템플릿의 사전 목록

진자 템플릿의 사전 목록을 반복하는 방법은 무엇입니까?

list1=[{"username": "abhi","pass": 2087}]

 return render_template("file_output.html",lis=list1)

템플릿에서

<table border=2>    
<tr>
<td>    
    Key
</td>   
<td>
    Value
</td>
</tr>
{% for lis1 in lis %}
{% for key in lis1 %}   
<tr>
<td>
    <h3>{{key}}</h3>
</td>
<td>
    <h3>{{lis1[key]}}</h3>
</td>
</tr>
{% endfor %}
{% endfor %}
</table>

위의 코드는 각 요소를 여러

핵심 가치 [

{

"

에스

과 ...

나는 위의 중첩 된 루프를 간단한 파이썬 스크립트에서 테스트했지만 잘 작동하지만 jinja 템플릿에서는 작동하지 않습니다.

해결법

  1. ==============================

    1.

    parent_dict = [{'A':'val1','B':'val2'},{'C':'val3','D':'val4'}]
    
    {% for dict_item in parent_dict %}
       {% for key, value in dict_item.items() %}
          <h1>Key: {{key}}</h1>
          <h2>Value: {{value}}</h2>
       {% endfor %}
    {% endfor %}
    

    dict 항목의 목록을 가지고 있는지 확인하십시오. UnicodeError를 얻으려면 dict 안에 값이 유니 코드 형식을 포함 할 수 있습니다. 이 문제는 귀하의 사이트에서 해결할 수 있습니다. dict이 유니 코드 객체 인 경우 utf-8로 인코딩해야합니다.

  2. ==============================

    2.Jinja2는 @Navaneethan의 대답을 부끄러워하기 때문에 사전의 키 또는 목록에있는 항목의 위치를 ​​알면 목록과 사전에 대한 "일반"항목을 선택할 수 있습니다.

    Jinja2는 @Navaneethan의 대답을 부끄러워하기 때문에 사전의 키 또는 목록에있는 항목의 위치를 ​​알면 목록과 사전에 대한 "일반"항목을 선택할 수 있습니다.

    parent_dict = [{'A':'val1','B':'val2', 'content': [["1.1", "2.2"]]},{'A':'val3','B':'val4', 'content': [["3.3", "4.4"]]}]
    
    {% for dict_item in parent_dict %}
       This example has {{dict_item['A']}} and {{dict_item['B']}}:
           with the content --
           {% for item in dict_item['content'] %}{{item[0]}} and {{item[1]}}{% endfor %}.
    {% endfor %}
    
    This example has val1 and val2:
        with the content --
        1.1 and 2.2.
    
    This example has val3 and val4:
       with the content --
       3.3 and 4.4.
    
  3. ==============================

    3.

    {% for i in yourlist %}
      {% for k,v in i.items() %}
        {# do what you want here #}
      {% endfor %}
    {% endfor %}
    
  4. from https://stackoverflow.com/questions/25373154/list-of-dictionary-in-jinja-template by cc-by-sa and MIT license