2

私のビューの 1 つで、いくつかの手順があり、完全に終了するまでに 5 ~ 7 分かかります。そのため、次のようにビューのステータスをブラウザに出力する方法があるかどうか疑問に思っていました。

「モデルを計算中...」 「モデルの後処理中...」 「DB を作成中...」 「古いテーブルを消去中...」

それを行う方法はありますか?

ありがとう!

4

1 に答える 1

4

そのようなヘビーデューティーは、おそらく django ビューの一部であってはなりません。非同期タスク管理のためにdjango celeryを調べることをお勧めします。

ただし、サーバーをポーリングすることで、そのようなことをうまく行うことができます。簡単なセットアップでは、短いポーリングを使用します(基本的には、i 秒ごとにサーバーへの ajax 要求をトリガーし、ユーザーに何かを表示するために使用できるステータス応答* を取得する JavaScript ループ)。

*何らかの方法でステータスを計算するURLと関数を設定する必要があります。セロリを使用している場合は、非同期の結果を使用できます

于 2012-09-18T08:36:46.747 に答える