Flask
123
views
複数ファイルのアップロードでは、クライアント側で ```js for (const file of files) { form...
Flask ではデコレータ `@app.route()` を使ってルーティングを定義する。URL パスと Python 関数を結...
Flask は標準でテンプレートエンジン Jinja2 を採用している。HTML ファイルに Python の変数や制御構文を埋...
Flask で CSS や JavaScript、画像などの静的ファイルを配信するには、`static` ディレクトリにファイル...
Flask アプリケーションは、最小構成であれば1つの Python ファイルで動作する。まずは基本的な構造を理解しよう。 最小...
Flask ではリクエストに関する情報を `request` オブジェクトから取得できる。フォームから送信されたデータを受け取る...
API を構築する場合、クライアントから JSON 形式でデータを受け取ることが多い。Flask では `request.jso...
Flask でレスポンスを返す方法はいくつかある。単純な文字列を返すだけでなく、ステータスコードやヘッダーを指定することもできる...
Flask では Cookie とセッションを使ってクライアントの状態を保持できる。Cookie はブラウザに保存される小さなデ...
アプリケーションが大きくなると、すべてのルートを1つのファイルに書くのは管理しづらくなる。Blueprint を使えば、アプリケ...
アプリケーションファクトリパターンは、Flask アプリケーションを関数内で生成する設計パターンである。テスト時に異なる設定でア...
Flask アプリケーションの設定は `app.config` オブジェクトで管理する。開発・本番・テストなど環境ごとに異なる設...
Flask ではエラー発生時の動作をカスタマイズできる。404 や 500 などの HTTP エラーに対して、独自のエラーページ...
Flask-SQLAlchemy は Flask で SQLAlchemy を簡単に使えるようにする拡張である。データベースへの...
Flask-Login はユーザー認証を簡単に実装できる拡張である。ログイン状態の管理、ログイン必須のルート保護、ユーザーセッシ...
Flask-Migrate は SQLAlchemy のマイグレーションツール Alembic を Flask で使いやすくする...
Flask の開発サーバーは本番環境には適さない。本番では Gunicorn などの WSGI サーバーを使ってデプロイする。 ...
CORS(Cross-Origin Resource Sharing)は、異なるオリジン間での HTTP リクエストを制御する仕...
Flask アプリケーションでグローバル変数を不用意に使うと、リクエスト間でデータが混在したり、マルチスレッド環境で予期しない動...
Flask のコンテキストを理解していないと、「RuntimeError: Working outside of applica...
Flask アプリケーションが大きくなると circular import(循環インポート)の問題に遭遇しやすい。モジュール A...
Flask の `app.run()` は開発用サーバーを起動するメソッドであり、本番環境で使ってはいけない。その理由と正しい本...
Flask のデフォルトセッションはクライアント側の Cookie に保存される。署名により改ざんは検知できるが、内容は暗号化さ...
Flask の `request` オブジェクトはリクエストコンテキストに紐づいており、スレッド間で共有してはいけない。これを誤...
Flask には2種類のコンテキストがある。アプリケーションコンテキストとリクエストコンテキストである。これらを正しく理解するこ...
Flask の `g` オブジェクトは、リクエスト中にデータを一時的に保持するための仕組みである。正しく使えばコードの見通しがよ...
Flask のシグナルは、アプリケーション内で特定のイベントが発生したときに通知を受け取る仕組みである。blinker ライブラ...
Flask ではリクエスト処理の前後にフック関数を実行できる。`before_request` と `after_request...
Flask でカスタムデコレータを作成すると、認証、権限チェック、ロギングなどの共通処理を再利用可能な形で実装できる。 基本的な...
Flask の `request`、`current_app`、`g`、`session` はグローバル変数のように見えるが、実...
Flask 2.0 から async/await がサポートされたが、制限や落とし穴がある。Flask で非同期処理を扱う際の注...
Flask の URL ルーティングでは `<int:id>` のようなコンバータを使える。独自のコンバータを作成すれば、URL...
Flask は WSGI アプリケーションであり、WSGI ミドルウェアを使ってリクエスト/レスポンスの処理をカスタマイズできる...
Flask アプリケーションが成長するにつれ、単一ファイルでは管理が困難になる。大規模アプリケーションを設計するためのパターンを...
Flask アプリケーションのテストは pytest を使うと効率的に書ける。テストクライアント、フィクスチャ、モックを活用した...
Flask で時間のかかる処理(メール送信、画像処理、外部 API 呼び出しなど)をリクエスト内で実行すると、レスポンスが遅くな...
Flask のデフォルトセッションは Cookie に保存されるが、サイズ制限やセキュリティ上の理由でサーバーサイドに保存したい...
API に対する過剰なリクエストを防ぐため、レートリミット(流量制限)を実装することは重要である。Flask-Limiter を...
データベースクエリや外部 API 呼び出しの結果をキャッシュすることで、Flask アプリケーションのパフォーマンスを向上できる...
Web アプリケーションのセキュリティを高めるには、HTTP レスポンスヘッダーを適切に設定することが重要である。Flask で...
SQL インジェクションは、ユーザー入力を SQL クエリに直接埋め込むことで発生する脆弱性である。Flask と SQLAlc...
ユーザーからの入力を信頼せず、適切にバリデーションとサニタイズを行うことは、Flask アプリケーションのセキュリティに不可欠で...