python - Flask里endpoint view function 路由等概念如何理解
阿神
阿神 2017-04-17 16:20:02
0
3
582
阿神
阿神

闭关修行中......

全員に返信(3)
黄舟

コンセプト

  • ルーティング ルール テーブル url_map._rules

    • ルール ルールの 1 つ

      • 関数 / ビュー関数 - 特定のエンドポイント/パスを処理するビュー関数。これは、特定の URL またはグループの URL を処理する関数として単純に理解できます。

      • エンドポイント - フラスコ内部識別子

      • その他 / ルールコンバータ、メソッドなど

プロセス:

  1. ルール/パスの作成

  2. ルール/パスにエンドポイントを割り当てる

  3. ルール/パスの表示機能を指定します。

重要なポイント

  1. リクエストが届くと、そのリクエストは rule/path に基づいてアプリ内に配置されます。つまり、

    • ユーザーが /a をリクエストすると、/a ルーティング ルールで指定されたビュー関数が呼び出され、リクエストを処理します。

    • 同様に、/users/<string:username>も同様です。

  2. Flask の url_map ルーティング テーブルでは、rule/pathendpoint はどちらもルーティング ルール テーブル内で一意です

    • 特に endpoint が繰り返されるとエラーが報告されます。

    • rule/path は繰り返し可能ですが、最初の 1 つだけが有効になります。

  3. 開発者が @app.route デコレーターまたは app.add_url_rule() 関数呼び出しでエンドポイントを指定しない場合、flask はこの Rule ルール のデフォルトのエンドポイント、つまりこの view function を指定します。名前。

関係

  • 1 つの view function は複数の endpointrule を持つことができます。これは 1 対多の関係です。

  • 逆に、1 つの endpoint に対して、rule は 1 つだけ存在でき、view function も 1 つだけ存在できます。

答えと解説

さて、被験者の質問を振り返ってみましょう。

1. 「ルートの内部名は何ですか?」 』

名前は index です。

件名が言及した以下のビューでは、エンドポイントが index 関数呼び出しで明示的に @app.route 指定されていないため、エンドポイント/ルーティング ルール テーブルの内部名は です。 リーリー

2.『エンドポイントはビュー関数に付けられた名前なので、エンドポイント名はビュー関数の名前でしょうか? 』

いいえ。上記の

強調 で述べたように、エンドポイントを指定する 明示的な がない場合、flask はビュー関数の名前 (ここでは ) をエンドポイントとして使用します。このルーティングルール。 index

3. 「エンドポイントパラメータが必要なときにビュー関数の名前を渡す必要があるのはなぜですか?」 』

ビュー関数 の名前ではなく、実際には の名前です。ある時点でエンドポイントの名前が ビュー機能endpoint デモ

リーリー
いいねを押す +0
大家讲道理

このコード部分を見てください

リーリー

クラスを使用してルートを記述することができます。この記述メソッドは、関数名=endpoint

のデコレーターに抽象化されます。
いいねを押す +0
小葫芦

この回答がエンドポイントの理解に役立つかどうかはわかりません http://segmentfault.com/q/1010000002980493

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!