問題タブ [starlette]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - FastAPI フォームのアップロード後、クラッシュを防ぐために新しいページをレンダリングする前に待機します
データをキャッチする関数を使用して、バックエンドで処理される FastAPI / Starlette フォームがあります。
ユーザーがファイルをアップロードし、それがサーバー (またはローカル マシン) に保存されると、ページがクラッシュし、更新できるようになるまで数十秒待たなければなりません。
/upload ページの HTML フォーム:
Python バックエンド:
[アップロード] ボタンをクリックすると、バックエンドの正しいディレクトリ ( ) にファイルが作成されるまでに数秒または数分かかりますapp/uploads
。その間、ブラウザではページの応答が停止し、次のように置き換えられます。
これは Edge のスクリーンショットで、「申し訳ありませんが、このページにアクセスできません」というメッセージが表示されています。
もちろん、他のブラウザ、特にクロム ベースのブラウザもまったく同じ動作をします。
ページを更新して動作を確認できるようになるまで、数分待たなければなりません。
これを回避するにはどうすればよいですか?
UI を更新する前に、ファイルのアップロードが完了するまで待つにはどうすればよいですか?
python - FastAPI のコンテキスト プロセッサ
私は FastAPI ECommerce Web サイトに取り組んでいます。
テンプレート エンジンとして Jinja2 を使用しました。
各テンプレートの上部にショッピング カートを表示したいと考えています。
Django の context_processor で実行できます。
FastAPI では、次のコードは、各テンプレートでグローバルに文字列にアクセスするのに役立ちます。
ただし、文字列のみを保存できますが、カート関数は入力としてリクエストを必要とします (以下のコードを参照)
すべての FastAPI テンプレート (Django の context_processor やフラスコの context_processor デコレータなど) でカートにアクセスする方法はありますか?