1

私は、Django とファブリックの展開ツールに取り組んでいます。このケースでは、いくつかのパラメーター (ホスト名やユーザー名など) を初期形式に入れ、Django アプリにファブリック メソッドを呼び出して残りを実行させ、Web ブラウザーで出力を収集します。

OS からファブリックへのパスワード プロンプトがある場合 (つまり、sudo コマンドの実行など)、パスワードを入力するための 1 フィールド フォームをポップアップしたいと思います (たとえば、jQuery UI 要素を使用)。その人がユーザープロンプトのパスワードフィールドに入力すると、ファブリックは引き続き処理を行います。この状況は実現可能でしょうか?ブラウザへの非同期呼び出しについて考えていましたが、反対側からどのように実行できるかわかりません。おそらく別の方法があります。

何か提案があれば教えてください。ありがとう!

4

2 に答える 2

2

はい、フォームをポップアップするよりもパスワードの例外をキャプチャし、ファブリック スクリプトを再度実行します。env.password = userpassword

例外をキャッチした場所から続行したい場合は、何が行われたか (つまり、nlinesexecuted) を知っている変数を保持し、例外をキャッチしたときにそれを保存します。スクリプトを再実行するときにロジックを使用して、中断したところから続行します。

于 2012-05-03T21:45:47.603 に答える
1

必要な場合にのみパスワード プロンプトを表示する方法は考えられません...前にプロンプ​​トを表示し、必要に応じてキャッシュすることはできますが、バックエンドはアクセスできます。

sudo パスワードを fabric コマンドに渡すには、sudo -S... つまり

エコーパスワード | sudo -S コマンド

于 2012-05-03T21:45:31.023 に答える