真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

flask中route裝飾器是什么-創(chuàng)新互聯(lián)

創(chuàng)新互聯(lián)www.cdcxhl.cn八線動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買多久送多久,劃算不套路!

創(chuàng)新互聯(lián)是一家專業(yè)提供康巴什企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站制作、成都做網(wǎng)站、H5響應(yīng)式網(wǎng)站、小程序制作等業(yè)務(wù)。10年已為康巴什眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設(shè)計(jì)公司優(yōu)惠進(jìn)行中。

小編給大家分享一下flask中route裝飾器是什么,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

flask裝飾器route實(shí)現(xiàn)路由功能理解

利用裝飾器的方式實(shí)現(xiàn)了路由函數(shù),這是一個(gè)十分簡(jiǎn)單清晰的結(jié)構(gòu),而這個(gè)功能的實(shí)現(xiàn),有著很大的學(xué)習(xí)意義

@appweb.route('index',methods=['GET','POST']
def static1():
    return render_template('index.html')

看代碼可以知道,通過appweb.route裝飾了static1()函數(shù),使其成為了路由函數(shù)

解析route裝飾器源代碼

def route(self,rule,**options):

    def decorator(f):
        endpoint = options.pop('endpoints',None)
        self.add_url_rule(rule,endpoint,f,**options)
        return f
    return decorator

Flask實(shí)例的主要路由功能就是這個(gè)route函數(shù),而route函數(shù)源代碼可以看出,是一個(gè)3層嵌套的裝飾器(route函數(shù)內(nèi)部還有個(gè)裝飾器)

三層嵌套裝飾器的語法糖規(guī)則

@appweb.route('index',methods=['GET','POST'])
def static1():
    return render_template('index.html')
#等于
static1 = appweb.route('index',methods=['GET','POST'])(static1)

上面的route函數(shù),實(shí)際上是返回一個(gè)decorator,這個(gè)decorator函數(shù)裝飾static1函數(shù)成為路由函數(shù)

route函數(shù)的功能是提供rule參數(shù)和其他的字典鍵對(duì)值參數(shù)(**options)

self.add_url_rule是關(guān)鍵的函數(shù),它將f參數(shù)(即static1())裝飾成路由函數(shù),最后return f

關(guān)于add_url_rule函數(shù),從更深的源碼可知,默認(rèn)方法為GET,將rule(即'/index')作為網(wǎng)址注冊(cè)進(jìn)了路由,大部分的參數(shù)都在options字典中,目前我已知的參數(shù)有methods=,endpoints=,view_func=等。

以上是flask中route裝飾器是什么的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道!


網(wǎng)頁名稱:flask中route裝飾器是什么-創(chuàng)新互聯(lián)
網(wǎng)頁鏈接:http://weahome.cn/article/dogijh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部