• 230.6.flask模板


    1.main.py

    # coding=utf-8
    from flask import Flask, render_template, Markup
    
    app = Flask(__name__)
    
    
    # 加上这个装饰器只有每个模板中都可以直接使用这个函数 {{ sb(1,2)}}
    @app.template_global()
    def sb(a1, a2):
        return a1 + a2
    
    
    # 加上这个装饰器只有每个模板中都可以直接使用这个函数 {{ 1 | sb(1,2)}}
    @app.template_filter()
    def sb2(a1, a2, a3):
        return a1 + a2 + a3
    
    
    def gen_input(value):
        # return "<input value=%s>" % value
        return Markup("<input value=%s>" % value)
    
    
    @app.route("/index")
    def index():
    
        context = {
            "k1": "123",
            "k2": [11,33,22],
            "k3": {"name": "alex", "age": 12},
            "k4": lambda x: x + 1,
            "k5": gen_input  # 临时函数, 当前模板可以使用
        }
    
        return render_template("index.html", **context)
    
    
    @app.route("/index2")
    def index2():
    
        context = {
            "k1": "123",
            "k2": [11,33,22],
            "k3": {"name": "alex", "age": 12},
            "k4": lambda x: x + 1,
            "k5": gen_input  # 临时函数, 当前模板可以使用
        }
    
        return render_template("index.html", **context)
    
    
    if __name__ == '__main__':
        app.run(debug=True)
    

    2.模板

    • templates/index.html
    {% extends "layout.html" %}
    {% block content %}
        <h1>{{ k1 }}</h1>
        <h1>{{ k2.0 }}</h1>
        <h1>{{ k3.name }}</h1>
        <h1>{{ k4(9) }}</h1>
        <h1>{{ k5(9)|safe }}</h1>
        <h1>{{ sb(1,2) }}</h1>
        <h1>{{ 1 | sb2(1,2) }}</h1>
    {% endblock %}
    
    • templates/layout.html
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
     <div>start</div>
     <div>
         {% block content %} {% endblock %}
     </div>
     <div>end</div>
    </body>
    </html>
    
  • 相关阅读:
    Spring 学习笔记
    Hello Spring(3)ConnectionUtility
    android ndk开发
    java udp 广播及socket通讯
    android 横向滚动屏幕实现(2)
    android 基于ftp远程文件管理
    android 软键盘的弹出问题总结
    android 滚动字幕
    android 基于apache ftp server
    android 设置壁纸几种方法
  • 原文地址:https://www.cnblogs.com/liuzhanghao/p/16337516.html
Copyright © 2020-2023  润新知