Flaskフレームワーク基本機能

2004 ワード

引用する
この文書では、Flaskフレームワークのいくつかの基本的な機能について簡単にまとめます.
  • ルーティングシステム
  • テンプレート
  • データベース
  • いくつかの一般的なFlaskライブラリ
  • 簡単なFlask事例
    FlaskはPythonに基づいてJinja 2テンプレートとWSDIサービスに依存するフレームワークです.URLにアクセスすると、ブラウザはHTTP要求を発行し、WSDIは私たちの要求を受信し、Flaskフレームワークが提供する一連の機能に渡して要求を処理し、HTTP応答をブラウザ(クライアント)に返す.Djangoと比較してFlaskはマイクロフレームワークとしてそろっているわけではありませんが、拡張機能をインストールすることで提供されるサービスを増やすことができ、カスタマイズ性が強いです.次は簡単なFlaskの事例です.http://127.0.0.1:5000を選択すると、ブラウザにhello flaskが表示されます.
    from flask import Flask
    
    
    app = Flask(__name__)
    
    @app.route('/')
    def index():
        return '

    hello, flask

    ' if __name__ == '__main__': app.run(host='127.0.0.1', port=5000)

    上記のプログラムでは、ルートディレクトリをindexルーティング関数関数にバインドし、localhost:5000で実行するappのFlaskインスタンスを作成しました.上記のプログラムを実行すると、pythonプログラム名で直接実行できます.開発環境に使用する場合、他に実行方法がある場合は、Flaskソースコードのコメントがはっきり書かれており、FLASK_を設定する必要があります.DEBUG環境変数はプログラム名であり、flask runでサーバを実行できます.
    ルーティングシステム
    上記の手順では、@app.route('/')は装飾器です.python内の装飾器は、装飾された関数をイベントのコールバック関数として登録するためによく使用されます.具体的には、Webブラウザが/を要求すると、indexという関数がトリガーされ、index関数の戻り値が応答としてブラウザに返される.異なるURLには同じビュー処理関数があり、言い換えれば、1つの関数が複数のURLに対応することができる.これはDjangoのMTVモードにおいて、その中のviewsに対応する.
    一般的なルーティングシステムには、次の5つがあります.
  • @app.route('/usr/')
  • @app.route('/usr/')
  • @app.route('/usr/')
  • @app.route('/usr/')
  • @app.route('/usr', methods=['GET', 'POST'])

  • 以下に対応関係を示します.
    DEFAULT_CONVERTERS = {
        'default':          UnicodeConverter,
        'string':           UnicodeConverter,
        'any':              AnyConverter,
        'path':             PathConverter,
        'int':              IntegerConverter,
        'float':            FloatConverter,
        'uuid':             UUIDConverter,
    }

    正規表現がサポートされていないことがわかります.この点については、Segment Faultの回答を参考にすることができます.
    To Be continue