Flask への移植指針

基本方針

本フレームワークは、必要になれば Flask へ最小限の修正で移植できるよう、API 形状をある程度 Flask 風に保つ。

対応の考え方

@app.route('/path')

Flask の @app.route に比較的素直に移せる。

app.query

Flask では request.args / request.form / request.files に分離される。

init_html(target='json')

Flask では jsonify または Response へ置き換える。

render_template

Flask 標準の render_template に置き換え可能。

run()

Flask では WSGI サーバと app.run に置き換わる。

移植しやすくするための実装ルール

  • ルート関数は薄く保つ

  • 入力パースを業務ロジックに混ぜない

  • 返却用辞書生成を別関数に分ける

  • HTML テンプレートの変数名を整理しておく

  • 認証は decorator ベースに寄せる

移植時に見直すべき点

  • セッション管理

  • Cookie 処理

  • 認証・認可の分離

  • エラーハンドラ

  • ファイルアップロード処理

  • ログの構成