[英]What is the “endpoint” in flask's .add_url_rule()?
請考慮以下代碼
import flask
class API:
def hello(self):
return flask.Response('hello', 200)
api = API()
app = flask.Flask(__name__)
app.add_url_rule('/', 'hello', api.hello)
app.run()
它返回的“hello”在一個GET
調用/
。
add_url_rule
的文檔說明了這一點
[
add_url_rule
]的工作原理與route()
裝飾器完全相同。
然而,它至少需要三個參數。 第一個和第三個是可以理解的並且模仿@route()
。 第二個是什么(在我的情況下hello
)?
文檔進一步指出這是
endpoint - 已注冊URL規則的端點。 Flask本身將視圖函數的名稱視為端點
這是什么意思? 為什么URL( /
)和調用方法( api.hello
)不夠? “終點”的作用是什么? 它是如何使用的?
這是路線的名稱 ; 例如,你在url_for()
函數中使用的那個。 端點名稱是視圖的注冊鍵,是一個符號名稱,您可以通過該名稱引用應用程序其他部分的路徑。
@route()
采用相同的參數; 默認值是修飾函數的名稱。 這在add_url_rule()
文檔以及@route()
的文檔中@route()
記錄:
- endpoint - 已注冊URL規則的端點。 Flask本身將視圖函數的名稱視為端點。
(粗體斜體強調我的)。
請注意,文檔中的示例嘗試顯示相同的內容:
基本上這個例子:
@app.route('/') def index(): pass
相當於以下內容:
def index(): pass app.add_url_rule('/', 'index', index)
請注意,第二個參數'index'
與函數名稱匹配。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.