• flask 模板渲染


    flask 模板渲染

    from flask import Flask,render_template,Markup
    app = Flask(__name__)
    app.debug = True
    
    
    USERS = {
        1:{'name':'张三','age':18,'gender':'','text':"道路千万条"},
        2:{'name':'李四','age':28,'gender':'','text':"安全第一条"},
        3:{'name':'王五','age':18,'gender':'','text':"行车不规范"},
    }
    
    def func(arg):
        return Markup(f"<h1>你好帅,{arg} is sb</h1>")
    
    @app.route("/")
    def index():
        # data = {
        #     "user":USERS,
        #     "name":"bob"
        # }
        return render_template("index.html",user=USERS,name="bob",ht="<h1>你真帅</h1>",ht1=func)
        # return render_template("index.html",**data)
    
    
    if __name__ == '__main__':
        app.run()

    html页面

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    
    </head>
    <body>
    
    
    <!--渲染变量-->
    <div>{{name}}</div>
    
    <table>
    <!--变量循环渲染-->
    {% for k,v in user.items() %}   <!--这里不同于django,items需要(),比起django可以进行传参-->
        <tr>
            <td>{{ k }}</td>
            <td>{{ v.name }}</td>
            <td>{{ v['name'] }}</td>
            <td>{{ v.get('name') }}</td>
            <td>{{ url_for("index") }}</td>
        </tr>
    {% endfor %}
    </table>
    
    
    <!--渲染转义-->
    {{ht|safe}}
    <!--支持传参的渲染,比django中多可以加括号,执行函数,传参数-->
    {{ht1("jason")}}
    </body>
    </html>

    注意:

    1.Markup等价django的mark_safe ,

    2.extends,include和django一模一样

  • 相关阅读:
    nginx 禁止访问某个目录
    ssh 无法链接的解决思路
    linux 时间修改(同步到时间服务器)
    BitNami Gitlab的重启问题
    gitlab push时报错
    VirtualBox 安装centos后无法上网
    VirtualBox 创建64位系统的问题
    NOIP2010 题解
    NOIP2011 题解
    NOIP2012 题解
  • 原文地址:https://www.cnblogs.com/baohanblog/p/12520945.html
Copyright © 2020-2023  润新知