1. 程式人生 > 實用技巧 >Flask jinjia2: # {{ }}引用變數資料,執行函式 # {%%}邏輯程式碼

Flask jinjia2: # {{ }}引用變數資料,執行函式 # {%%}邏輯程式碼

from flask import Flask,render_template

STUDENT={'name':'Old','age':38,'gender':''}

STUDENT_LIST=[
                {'name':'Old','age':38,'gender':''},
                {'name':'Boy','age':73,'gender':''},
                {'name':'EDU','age':84,'gender':''}
            ]

STUDENT_DICT={
                
1:{'name': 'Old', 'age': 38, 'gender': ''}, 2:{'name': 'Boy', 'age': 73, 'gender': ''}, 3:{'name': 'EDU', 'age': 84, 'gender': ''} } app = Flask(__name__) app.debug=True @app.template_global() #加了這個後,可以在render_template中不需要傳func_ab=ab def ab(a,b):
return a+b # jinjia2: # {{ }}引用變數資料,執行函式 # {%%}邏輯程式碼 #檢視STUDENT 放在studentinfo頁面 @app.route("/stu") def stu(): # return render_template('studentinfo.html',func_ab=ab,stu_info=STUDENT,stu_list=STUDENT_LIST,stu_dict=STUDENT_DICT) #stu_info這個命名隨便命名。後端將資料給了stu_info這個變數。 #--> html中引用使用{{stu_info}}就可以把後端的資料傳給前端進行展示。func_ab將檢視函式傳給html檔案,可以支援傳多個,所有函式都要在render_template
#-->中傳函式名。怎麼可以避免寫一次其他的都可以用. return render_template('studentinfo.html',stu_info=STUDENT,stu_list=STUDENT_LIST,stu_dict=STUDENT_DICT) #stu_info這個命名隨便命名。後端將資料給了stu_info這個變數。 #在html檔案中直接使用函式名就可以了 if __name__ == '__main__': app.run('127.0.0.1',9090)
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>學生資訊</title>
</head>
<body>
    {{ stu_info }}
    <table border="1px">
        <tr>
            <td>name</td>
            <td>age</td>
            <td>gender</td>
        </tr>
        <tr>
            <td>{{ stu_info.name }}</td>
            <td>{{ stu_info.get('age') }}</td>
            <td>{{ stu_info['gender'] }}</td>
        </tr>
    </table>



    {{ stu_list }}
    <table border="1px">
    <tr>
        <td>name</td>
        <td>age</td>
        <td>gender</td>
    </tr>

   {% for stu in stu_list %}
       <tr>
            <td>{{ stu.name }}</td>
            <td>{{ stu.get('age') }}</td>
            <td>{%if stu["gender"]!="男" and stu["gender"]!="女"%}
                二哈
                {% else %}
                {{ stu['gender'] }}
                {% endif %}

            </td>
       </tr>
   
   {% endfor %}

    </table>


{#    {{ stu_dict }}#}
{#    {% for dic in stu_dict %}#}
{#        {{ dic }}#}
{#        {{ stu_dict[dic] }}#}
{#        {{ stu_dict[dic].name }}#}
{#        {{ stu_dict[dic].get("age") }}#}
{#        {{ stu_dict[dic]["gender"] }}#}
{##}
{#    {% endfor %}#}

        <table border="1px">
        {{ stu_dict }}
            {% for foo,item in stu_dict.items() %}

       <tr>
            <td>{{ item["name"] }}</td>
            <td>{{ item["age"] }}</td>
            <td>{%if item["gender"]!="男" and item["gender"]!="女"%}
                二哈
                {% else %}
                {{ item['gender'] }}
                {% endif %}

            </td>
       </tr>
{#                {{ item["name"] }}#}
{#                {{ item["age"] }}#}
{#                {{ item["gender"] }}#}

            {% endfor %}
        </table>

        <p>{{ ab(22,222) }}</p>
        <p>{{ ab(333,33333) }}</p>




</body>
</html>