python 宏使用详解
什么是宏?
宏類似python中的函數(shù),可以傳參數(shù)進(jìn)去,但不能有返回值!在實(shí)際開發(fā)項(xiàng)目中,可以將一些復(fù)用代碼抽取出來放到宏中,然后把不固定的值作為變量!
宏的使用!
在講宏使用之前,我們先網(wǎng)上找一張表單注冊(cè)的圖片,圖片如下:
然后我們通過模板渲染的方式來實(shí)現(xiàn)這個(gè)表單!
新建一個(gè)test.py文件,代碼如下(相信很多朋友都記得滾瓜爛熟了!):
from flask import Flask,render_templateapp = Flask(__name__)@app.route("/") def index():return render_template("test.html")if __name__ == "__main__":app.run(debug=True)再在templates文件下新建一個(gè)test.html文件,代碼如下:
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>用戶注冊(cè)</title> </head> <body><form action="#" method="post"><table><tr><td>用戶名</td><td><input type="text" name="name" value=""></td></tr><tr><td>密碼</td><td><input type="password" name="password1" value=""></td></tr><tr><td>確認(rèn)密碼</td><td><input type="password" name="password2" value=""></td></tr><tr><td>E-Mail:</td><td><input type="text" name="email" value=""></td></tr><tr><td>手機(jī)號(hào)碼</td><td><input type="text" name="m-phone" value=""></td></tr><tr><td>固定電話</td><td><input type="text" name="tel" value=""></td></tr><tr><td>家庭住址</td><td><input type="text" name="address" value=""></td></tr><tr><td><input type="submit" name="name" value="注冊(cè)"></td><td><input type="submit" name="name" value="登錄"></td></tr></table></form> </body> </html>運(yùn)行test.py文件,結(jié)果如下:
相信對(duì)很多朋友來說,實(shí)現(xiàn)這個(gè)表單并不是什么難事!
上述代碼雖然實(shí)現(xiàn)了表單注冊(cè)這個(gè)界面!但是代碼太復(fù)雜了,每次都得去input一下,太麻煩了!!是吧??
下面我們就用宏來實(shí)現(xiàn)這個(gè)效果!
首先,我們分析test.html文件表單的共性,是不是都有一個(gè)input標(biāo)簽啊!是不是??
OK,下面我們就把這段代碼抽取出來放到宏中,代碼如下:
{#{% macro %}{% endmarco %}定義宏的標(biāo)準(zhǔn)語法,起始跟結(jié)束標(biāo)簽 #} {#macro后面的input為宏的名字,括號(hào)中的值為宏的參數(shù),例如:type="text"表示默認(rèn)文本類型為text #} {% macro input(name,type="text",value="") %} {#將input宏后面的name,type,value參數(shù)作為變量傳入name,type,value值中 #}<input name="{{ name }}" type="{{ type }}" value="{{ value }}"> {% endmacro %}宏定義好了,我們?cè)趖est.html文件中把之前寫的form表單代碼刪除掉。再輸入下方代碼:
<form action="#"><table><tr><td>姓名:</td><td>{{ input("username") }}</td></tr><tr><td>密碼:</td><td>{{ input("password1",type="password") }}</td></tr><tr><td>確認(rèn)密碼:</td><td>{{ input("password2",type="password") }}</td></tr><tr><td>E-Mail:</td><td>{{ input("email") }}</td></tr><tr><td>手機(jī)號(hào)碼:</td><td>{{ input("phone") }}</td></tr><tr><td>固定電話:</td><td>{{ input("tel") }}</td></tr><tr><td>地址:</td><td>{{ input("address") }}</td></tr><tr><td>{{ input("zuce",type="submit",value="注冊(cè)") }}</td><td>{{ input("denglu",type="submit",value="登錄") }}</td></tr></table></form>代碼是不是比之前簡潔多了,看著也舒服。
說了那么多,還不知道運(yùn)行結(jié)果咋樣,我們運(yùn)行試試!結(jié)果如下:
在實(shí)際開發(fā)項(xiàng)目中,宏用的地方還是挺多的,希望朋友們能夠?qū)W會(huì)它,只有學(xué)會(huì)它,我們?cè)陂_發(fā)項(xiàng)目中才能得心應(yīng)手!
?
總結(jié)
以上是生活随笔為你收集整理的python 宏使用详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于最小二乘法的无线定位
- 下一篇: python画图加注释_【IT专家】py