黄舟2017-04-17 16:22:02
ルーティング ルール テーブル url_map._rules
ルール ルールの 1 つ
関数 / ビュー関数 - 特定のエンドポイント/パスを処理するビュー関数。これは、特定の URL またはグループの URL を処理する関数として単純に理解できます。
エンドポイント - フラスコ内部識別子
その他 / ルールコンバータ、メソッドなど
ルール/パスの作成
ルール/パスにエンドポイントを割り当てる
ルール/パスの表示機能を指定します。
リクエストが届くと、そのリクエストは rule/path
に基づいてアプリ内に配置されます。つまり、
ユーザーが /a
をリクエストすると、/a
ルーティング ルールで指定されたビュー関数が呼び出され、リクエストを処理します。
同様に、/users/<string:username>
も同様です。
Flask の url_map ルーティング テーブルでは、rule
/path
と endpoint
はどちらもルーティング ルール テーブル内で一意です
特に endpoint
が繰り返されるとエラーが報告されます。
rule/path
は繰り返し可能ですが、最初の 1 つだけが有効になります。
開発者が @app.route
デコレーターまたは app.add_url_rule()
関数呼び出しでエンドポイントを指定しない場合、flask はこの Rule ルール のデフォルトのエンドポイント、つまりこの view function
を指定します。名前。
1 つの view function
は複数の endpoint
、rule
を持つことができます。これは 1 対多の関係です。
逆に、1 つの endpoint
に対して、rule
は 1 つだけ存在でき、view function
も 1 つだけ存在できます。
さて、被験者の質問を振り返ってみましょう。
1. 「ルートの内部名は何ですか?」 』
名前は index
です。
件名が言及した以下のビューでは、エンドポイントが index
関数呼び出しで明示的に @app.route
指定されていないため、エンドポイント/ルーティング ルール テーブルの内部名は です。
リーリー
いいえ。上記の
強調 で述べたように、エンドポイントを指定する 明示的な がない場合、flask はビュー関数の名前 (ここでは ) をエンドポイントとして使用します。このルーティングルール。 index
は
ビュー関数 の名前ではなく、実際には の名前です。ある時点でエンドポイントの名前が <🎜 の名前と同じになるだけです。 >ビュー機能endpoint
。
デモ
大家讲道理2017-04-17 16:22:02
このコード部分を見てください
リーリークラスを使用してルートを記述することができます。この記述メソッドは、関数名=endpoint
のデコレーターに抽象化されます。