Flask 視圖函數(shù)選項(xiàng)

2021-08-11 11:16 更新

對(duì)內(nèi)部使用,視圖函數(shù)可以有一些屬性,附加到視圖函數(shù)通常沒(méi)有控制權(quán)的自定義的 行為。下面的可選屬性覆蓋 add_url_rule() 的默認(rèn)值或一般 行為:

  • __name__: 函數(shù)的名稱默認(rèn)用于末端。如果顯式地提供末端,這個(gè)值會(huì)使用。 此外,它默認(rèn)以藍(lán)圖的名稱作為前綴,并且不能從函數(shù)本身自定義。
  • methods: 如果沒(méi)有在添加 URL 規(guī)則時(shí)提供 methods 參數(shù)。 Flask 會(huì)在視 圖函數(shù)對(duì)象上尋找是否存在 methods 屬性。如果存在,它會(huì)從上面拉取方法 的信息。
  • provide_automatic_options: 如果設(shè)置了這個(gè)屬性, Flask 會(huì)強(qiáng)制禁用或 啟用 HTTP OPTIONS 響應(yīng)的自動(dòng)實(shí)現(xiàn)。這對(duì)于對(duì)單個(gè)視圖自定義 OPTIONS 響應(yīng)而使用裝飾器的情況下是有用的。
  • required_methods: 如果這個(gè)屬性被設(shè)置了, 當(dāng)注冊(cè)一個(gè) URL 規(guī)則的時(shí)候, Flask 將總是會(huì)添加這些 methods 即使 methods 參數(shù)在 route() 調(diào)用 的時(shí)候被顯式的覆蓋了。

完整的例子:

def index():
    if request.method == 'OPTIONS':
        # custom options handling here
        ...
    return 'Hello World!'
index.provide_automatic_options = False
index.methods = ['GET', 'OPTIONS']

app.add_url_rule('/', index)

0.8 新版功能: 加入了 provide_automatic_options 功能。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)