問題タブ [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.

0 投票する
0 に答える
78 参照

python - FastAPI フォームのアップロード後、クラッシュを防ぐために新しいページをレンダリングする前に待機します

データをキャッチする関数を使用して、バックエンドで処理される FastAPI / Starlette フォームがあります。

ユーザーがファイルをアップロードし、それがサーバー (またはローカル マシン) に保存されると、ページがクラッシュし、更新できるようになるまで数十秒待たなければなりません。

/upload ページの HTML フォーム:

Python バックエンド:

[アップロード] ボタンをクリックすると、バックエンドの正しいディレクトリ ( ) にファイルが作成されるまでに数秒または数分かかりますapp/uploads。その間、ブラウザではページの応答が停止し、次のように置き換えられます。

これは Edge のスクリーンショットで、「申し訳ありませんが、このページにアクセスできません」というメッセージが表示されています。

Edge エラー: 申し訳ありませんが、ページを表示できません

もちろん、他のブラウザ、特にクロム ベースのブラウザもまったく同じ動作をします。

ページを更新して動作を確認できるようになるまで、数分待たなければなりません。

これを回避するにはどうすればよいですか?

UI を更新する前に、ファイルのアップロードが完了するまで待つにはどうすればよいですか?

0 投票する
1 に答える
252 参照

python - FastAPI のコンテキスト プロセッサ

私は FastAPI ECommerce Web サイトに取り組んでいます。
テンプレート エンジンとして Jinja2 を使用しました。
各テンプレートの上部にショッピング カートを表示したいと考えています。
Django の context_processor で実行できます。
FastAPI では、次のコードは、各テンプレートでグローバルに文字列にアクセスするのに役立ちます。

ただし、文字列のみを保存できますが、カート関数は入力としてリクエストを必要とします (以下のコードを参照)

すべての FastAPI テンプレート (Django の context_processor やフラスコの context_processor デコレータなど) でカートにアクセスする方法はありますか?