概要:フラスコウェブは、マイクロフレームです。「マイクロ」フラスコ機能が強力ではないという意味ではありません。「マイクロ」という言葉のマイクロフレームワークは、フラスコの目標は、コアシンプルかつスケーラブルを維持することであることを示します。
A、フラスコのインストール
pip install flask
第二に、プロジェクトフラスコを作成
- まず、フラスコのクラスをインポートしました。
- クラス作成されたアプリの例としては、最初のパラメータは、アプリケーションまたはモジュールパッケージの名前です。あなたは、単一のモジュールを使用する場合は、_使うべき名前を _。
- バインドURL機能へのルート()デコレータを使用します。
例:
from flask import Flask
from flask import request
app = Flask(__name__)
@app.route('/study', methods=['GET'])
def hello_world():
return 'Hello World!'
@app.route('/study/<username>', methods=['GET'])
def studyvariable(username):
print(request.method)
print(request.url)
return 'Hello, {}'.format(username)
@app.route('/study/studypost', methods=['POST'])
def study_post():
data = request.form
print(type(data))
print(data)
print(data['username'])
return 'ok'
if __name__ == '__main__':
app.run()
第三に、相関法、オブジェクト
(1)app.route(ルール、オプション)
- ルールのパラメータは、URLバインディングと機能を示します。
- オプションには、基本となるルールオブジェクトに転送されるパラメータのリストです。
- 受信メソッドのリストです:GET、POSTなど
(2)app.run(ホスト、ポート、デバッグ、オプション)(すべてのパラメータはオプションです)
- ホスト:ホスト名を監視するには、デフォルトは127.0.0.1
- ポート:ポート番号が提供され、デフォルト値は5000
- デバッグ:デバッグは、デフォルトでは、オンになっている偽。trueに設定すると、デバッグ情報を提供します
- オプション:基礎となるWERKZEUGサーバーに転送されます。
(3)要求
- 要求に要求情報を提供することによってフラスコグローバルオブジェクト、操作要求データに
(4)可変ルール
URLによっては、URLの変数を追加することができ、タグ<変数名>の一部です。キーワード引数として標識部分は、関数に渡されます。<Aコンバータ:変数名>を使用することで、選択的に、コンバータ、変数指定されたルールを追加することができます。そのような例として、変数「<ユーザー名>」
- コンバータタイプ:
タイプ | 説明 |
---|---|
ストリング | (デフォルト値)にスラッシュが含まれていない任意のテキストを受け入れます |
int型 | 正の整数を受け取ります |
浮く | 正のfloatを受け取ります |
道 | 同様の文字列が、それはスラッシュが含まれていてもよいです |
UUID | UUID文字列を受け入れます |
第四に、デバッグプロジェクト
- プロジェクトを開始した後のコンソール出力:
FLASK_APP = app.py
FLASK_ENV = development
FLASK_DEBUG = 0
In folder F:/Python项目/untitled
F:\Python项目\untitled\venv\Scripts\python.exe -m flask run
* Serving Flask app "app.py"
* Environment: development
* Debug mode: off
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
- ポストマンのデバッグにより、
ます。http://127.0.0.1:5000 /研究Getリクエストの送信 / wangwu
応答:こんにちは、wangwu
コンソール出力:
127.0.0.1 - - [25/Feb/2020 14:13:15] "GET /study/wangwu HTTP/1.1" 200 -
GET
http://127.0.0.1:5000/study/wangwu
ポスト送信要求します。http://127.0.0.1:5000 /研究 / studypost
フォームデータ:{ 'ユーザ名': 'リージ '、 'パスワード': '123456'}
応答:OK
コンソール出力:
<class 'werkzeug.datastructures.ImmutableMultiDict'>
ImmutableMultiDict([('username', 'lisi'), ('password', '123456')])
lisi
127.0.0.1 - - [25/Feb/2020 14:26:42] "POST /study/studypost HTTP/1.1" 200 -