<Python, flask> endpointとは、、、

Flaskさんで使われている語句 endpointって何? と思った。
調べてみた。

stackoverflow.com

いつも頼りになるstackoverflowさん。
最初の回答はよくわからなかったが、2回目の回答を試す。

In [1]: from flask import Flask, url_for
   ...: 
   ...: app = Flask(__name__)
   ...: 
   ...: # We can use url_for('foo_view') for reverse-lookups in templates or view functions
   ...: @app.route('/foo')
   ...: def foo_view():
   ...:     pass
   ...: 
   ...: # We now specify the custom endpoint named 'bufar'. url_for('bar_view') will fail!
   ...: @app.route('/bar', endpoint='bufar')
   ...: def bar_view():
   ...:     pass
   ...: 

In [3]: with app.test_request_context('/'):
   ...:     print(url_for('foo_view'))
   ...:     print(url_for('bufar'))
   ...:     
/foo
/bar

In [4]: with app.test_request_context('/'):
   ...:     print(url_for('bar_view'))
   ...:     
---------------------------------------------------------------------------
BuildError                                Traceback (most recent call last)
:

ふーん、、、で、ちと思い出したapp.url_mapをする。

In [5]: app.url_map
Out[5]: 
Map([<Rule '/foo' (GET, HEAD, OPTIONS) -> foo_view>,
 <Rule '/bar' (GET, HEAD, OPTIONS) -> bufar>,
 <Rule '/static/<filename>' (GET, HEAD, OPTIONS) -> static>])

In [6]: def hage():
   ...:     return 'Hage!'
   ...: 

In [7]: app.add_url_rule('/hogehoge', 'hage', hage)

In [8]: app.url_map
Out[8]: 
Map([<Rule '/hogehoge' (GET, HEAD, OPTIONS) -> hage>,
 <Rule '/foo' (GET, HEAD, OPTIONS) -> foo_view>,
 <Rule '/bar' (GET, HEAD, OPTIONS) -> bufar>,
 <Rule '/static/<filename>' (GET, HEAD, OPTIONS) -> static>])

なるへそう。
なんとなく、、endpointは、url_forURL一覧app.url_mapから、対象のURLを探す時のキーっぽい。
デフォルトは、@app.route()で、デコレートされたview function

マニュアルさんも。
http://flask.pocoo.org/docs/0.12/api/#flask.Flask.add_url_rule

過去記事 url_for nekoyukimmm.hatenablog.com