• 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>
    
  • 相关阅读:
    [转]看懂UML类图
    [转]客户需要什么样的业务解决方案
    [转]逻辑和计算机
    [转]数据库备份与恢复方案
    125个工具与技术(PMBOK2008)
    72个可交付成果(PMBOK2008)
    47个过程(PMBOK2008)
    项目管理详细任务(PMBOK2008)
    项目管理过程组和知识领域表(PMBOK2008)
    项 目 管 理 知 识 体 系 指 南 (PMBOK2008)
  • 原文地址:https://www.cnblogs.com/liuzhanghao/p/16337516.html
Copyright © 2020-2023  润新知