什么是宏?
宏类似python中的函数,可以传参数进去,但不能有返回值!在实际开发项目中,可以将一些复用代码抽取出来放到宏中,然后把不固定的值作为变量!
宏的使用!
在讲宏使用之前,我们先网上找一张表单注册的图片,图片如下:
然后我们通过模板渲染的方式来实现这个表单!
新建一个test.py文件,代码如下(相信很多朋友都记得滚瓜烂熟了!):
from flask import flask,render_template
app = flask(__name__)
@app.route("/")
def index():
return render_template("test.html")
if __name__ == "__main__":
app.run(debug=true)
再在templates文件下新建一个test.html文件,代码如下:
用户注册
运行test.py文件,结果如下:
相信对很多朋友来说,实现这个表单并不是什么难事!
上述代码虽然实现了表单注册这个界面!但是代码太复杂了,每次都得去input一下,太麻烦了!!是吧??
下面我们就用宏来实现这个效果!
首先,我们分析test.html文件表单的共性,是不是都有一个input标签啊!是不是??
ok,下面我们就把这段代码抽取出来放到宏中,代码如下:
{#{% macro %}{% endmarco %}定义宏的标准语法,起始跟结束标签 #}
{#macro后面的input为宏的名字,括号中的值为宏的参数,例如:type="text"表示默认文本类型为text #}
{% macro input(name,type="text",value="") %}
{#将input宏后面的name,type,value参数作为变量传入name,type,value值中 #}
{% endmacro %}
宏定义好了,我们在test.html文件中把之前写的form表单代码删除掉。再输入下方代码:
代码是不是比之前简洁多了,看着也舒服。
说了那么多,还不知道运行结果咋样,我们运行试试!结果如下:
在实际开发项目中,宏用的地方还是挺多的,希望朋友们能够学会它,只有学会它,我们在开发项目中才能得心应手!