你的位置:首页 > 信息动态 > 新闻中心
信息动态
联系我们

Flask——模板宏的使用

2021-11-29 0:38:09

宏类似于python中的函数,宏的作用就是在模板中重复利用代码,避免代码冗杂。
宏的使用基本有两种,带参数的和不带参数的宏,首先看不带参数宏的定义和使用,基本格式为:
定义:

    {% macro input() %}
        <input type="text" name="usename" value="" size="30">
    {% endmacro %}

使用方式:

{{ input() }}

举个例子,如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    {% macro input() %}
        <input type="text" name="usename" value="" size="30">
    {% endmacro %}

    <h1> 举第一个例子 </h1>
    {{ input() }}

	<h2> 举第二个例子 </h2>
    {{ input() }}
</body>
</html>

使用Flask框架进行渲染,程序如下:

from flask import Flask, render_template

app = Flask(__name__)

@app.route("/hello")
def index():
	# 这里要在templates文件夹中创建experiment.html文件
    return render_template("experiment.html")

if __name__ == '__main__':
    app.run(debug = True, port = 8000)

完成效果图:
在这里插入图片描述
接着看带参数的宏定义和使用,方法基本一样,提一点带参数的宏是支持参数设置默认值的,例子中会体现,如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    {% macro input() %}
        <input type="text" name="usename" value="" size="30">
    {% endmacro %}

    <h1> 举第一个例子 </h1>
    {{ input() }}
	<h2> 举第二个例子 </h2>
    {{ input() }}
    <hr/>
    <h1>-------------上面是不带参数的宏,下面是带参数的宏>-------------</h1>
    <hr/>
    {% macro input_1(type, name, value, size) %}
        <input type="{{type}}" name="{{name}}" value="{{value}}" size="{{size}}">
    {% endmacro %}

    <h1>举第三个例子</h1>
    {{ input_1("password", "hello stranger", "10", 50) }}

    {% macro input_2(type="text", name="zhangsan", value="10", size=50) %}
        <input type="{{type}}" name="{{name}}" value="{{value}}" size="{{size}}">
    {% endmacro %}

    <h2>举第四个例子</h2>
    {{ input_2() }}
</body>
</html>

渲染程序如下:

from flask import Flask, render_template

app = Flask(__name__)

@app.route("/hello")
def index():
	# 这里要在templates文件夹中创建experiment.html文件
    return render_template("experiment.html")

if __name__ == '__main__':
    app.run(debug = True, port = 8000)

完成效果图:
在这里插入图片描述

以上就是flask模板宏的基本方法,有疑问的欢迎评论或私信博主啊