flask 模板渲染

时间:2020-03-19 00:24:34   收藏:0   阅读:76

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一模一样

原文:https://www.cnblogs.com/baohanblog/p/12520945.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!