Flashk--ビュー
記事の目次関数ビュー 種類のビュー 標準クラス図 リクエストクラスビュー 戻り値タイプ 関数ビュー定義 がurlで飾られている=>後の処理ロジックの方法は、ビュー関数 である.ビュー関数の形式 同一の関数は、単数および複数の を処理する.同じ関数でGET/POSTなどを処理するための様々な方法要求 は、使用習慣に従って、1つのビューで1つまたは複数の論理 を処理することができる.メリット クラス継承可能コード多重は、複数の関数を定義することができます.
標準クラスビュー制約 類はFlaask.view.View から継承する必要があります. dispatch_を書き換える必要があります.request方法、そうでなければNotImplementendErr をエラーします. as_ビュー()とは、クラスをビュー関数に変換して、nameパラメータを受信し、ビュー関数名を定義する、またはエンドポイント名を定義するという意味です. はadd_しか使えません.クルクルrule登録ルーティング メソッド methods:サポートを定義する要求方法 dispatch_request:リクエスト配信 デコラレータ 例 異なる要求は を配布する.種類のビューは、装飾器だけを使用して装飾を表示することができます.
戻り値の種類
# 127.0.0.1:5000/ware
# 127.0.0.1:5000/ware?id=2
# post
@app.route('/ware', methods=['GET', 'POST'])
def ware():
id = request.args.get('id')
if request.method == 'GET': # get
if id is None:
return 'all ware info' # ,
return f'ware info: {id}' # ,
elif request.method == 'POST': # post
if id is None:
return 'Ceate a ware'
クラスビュー標準クラスビュー
from flask import Flask, url_for, redirect, request
from flask.views import View
app = Flask(__name__)
class Ware(View):
# methods = ['GET', 'POST']
def dispatch_request(self):
return '{}'.format(request.method)
# Map([ ware>
app.add_url_rule('/', view_func=Ware.as_view('ware'), methods=['POST'])
if __name__ == '__main__':
app.run(debug=True)
class Ware(View):
methods = ['GET', 'POST']
def get(self):
return 'get'
def post(self):
return 'post'
def dispatch_request(self):
dispatch_pattern = {
'get': self.get, 'post': self.post}
method = request.method.lower()
return dispatch_pattern.get(method)()
app.add_url_rule('/', view_func=Ware.as_view('ware'))
def decorater(func):
pass
class Ware(View):
pass
#
func = Ware.as_view('ware')
decorater(func)
app.add_url_rule('/', view_func=func)
要求クラスビュー戻り値の種類