zoukankan      html  css  js  c++  java
  • Flask 的模板渲染

    Flask 的模板渲染

    渲染模板语言和django很像,都是用{{}},{%%}

    注意点:

    1 flask给模板传值,render_template("index.htm",user=user,name=name)

    2 flask的模板语言支持对函数的调用。for 循环的循环对象,在 py 中要加括号的,模板语言中也要加括号。

    3 显示原生的html 如果是管道符 html|safe,如果是后端处理,就是用Markup

    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 func1(arg,tank):
     return Markup(f"<h1>Hello World,{arg} is sb {tank} is same as {arg}</h1>")
    
    @app.route("/")
    def index():
     # data = {
     #     "user" :USERS,
     #     "name": "santa"
     # }
     return render_template("index.html",user = USERS,name="santa",ht1 = func1,ht="<h1>Hello World1</h1>")
     #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>
    <h1> 我是html</h1>
    <table>
    {% for k,v in user.items() %}
    <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>
    
    <div>{{name}}</div>
    
    {% if name == "santa" %}
     <h1>666</h1>
    {% else %}
     <h1>水哥</h1>
    {% endif %}
    
    {{ ht|safe}}
    {{ht1("kai","santa")}}
    </body>
    </html>
    

  • 相关阅读:
    构造函数
    Jquery mobiscroll 移动设备(手机)wap日期时间选择插件以及滑动、滚动插件
    制作网页logo
    css兼容写法
    无刷新分页
    1009. Complement of Base 10 Integer (E)
    1288. Remove Covered Intervals (M)
    前端开发设置字符的间距和文字的间距
    前端开发字体属性合写
    前端开发设置字体的样式
  • 原文地址:https://www.cnblogs.com/kai-/p/12521120.html
Copyright © 2011-2022 走看看