Python學習之路---Flask01(2018-07-24)

來源:互聯網
上載者:User

標籤:bsp   spl   path   lin   turn   inner   map   執行   hit   

在學習Flask之前我們先來回顧一下裝飾器的知識:

1.簡單的裝飾器,index函數被當做參數直接傳入wrapper函數中,傳回值為inner

def wrapper(func):def inner(*args, **kwargs):return func(*args, **kwargs)return inner@wrapper ####### index = wrapper(index)def index(request):pass

 

2. 帶參數的裝飾器:

def wrapper(option):#{‘k1‘,‘v1‘}def inner(func,*args, **kwargs):return func(*args, **kwargs)return inner#首先執行wrapper函數--> inner = wrapper({‘k1‘,‘v1‘})#再執行@inner函數:@inner -->index = inner(index)@wrapper({‘k1‘,‘v1‘})def index(request):pass

 

3.路由關係url_map 與裝飾器之間的關係,本質:其實相當於一個閉包函數,裡面的函數能夠使用閉包之后里面的參數

url_map = {‘/index‘: index}def route(option): # {‘k1‘:‘v1‘}def inner(func,*args, **kwargs):url_map[option[‘path‘]] = funcreturn inner#先執行route({‘path‘:‘/index‘})函數-->inner = route(option): # {‘k1‘:‘v1‘}#然後再執行@inner 函數--> inner(index,*args, **kwargs):url_map[option[‘index‘]] = index所以就形成了上面的路由關係url_map @route({‘path‘:‘/index‘})def index(request):pass

 

Python學習之路---Flask01(2018-07-24)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.