zoukankan      html  css  js  c++  java
  • 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>
  • 相关阅读:
    我为何看到你的提问不想回答?关于如何提问的一些看法
    零基础一步一步pytorch实现Logistic regression逻辑回归编程教程
    numpy与pytorch实现梯度下降,实现一个简单的两层神经网络
    [ubuntu]Gedit修改文件后提示无法创建备份文件同时不能保存修改过后的文件
    【测绘】高速公路中线放样
    【GDAL】图像处理三:图像平滑(一)
    【GDAL】图像处理二:初级图像读取,操作,存储。
    【GDAL】图像处理一:GDAL1.9.2在vs2010旗舰版中的配置
    【openCV】openCV2.4.8在vs2010旗舰版中的配置
    【c++】大数相加
  • 原文地址:https://www.cnblogs.com/zhuxibo/p/14120566.html
Copyright © 2011-2022 走看看