ユーザーがサーバーのリモートホスト、ユーザー名、パスワードを入力する簡単なフォームがあります。私はviews.pyのupload_fileビューを使用してフォームを処理します。ユーザーから提供された入力を使用して、次のコマンドを実行したいと思います。
rsync --list-only username@serveraddress
次のコマンドを実行するには、ユーザーはパスワードを入力する必要があり、認証が成功するとファイルが一覧表示されます。すでにユーザーからパスワードを入力していますが、使い方がわかりません。上記のコマンドを実行した直後に、端末にパスワードを入力する必要があります。Djangoで同じことを実装するにはどうすればよいですか?これが私のviews.pyです:
def upload_file(request):
if request.method == 'POST':
#session_name = request.POST.get['session']
url = request.POST.get('hostname', False)
username = request.POST.get('username', False)
source = str(username) + "@" + str(url)
command = subprocess.Popen(['rsync', '--list-only', source], stdout=subprocess.PIPE).communicate()[0]
return render_to_response('thanks.html', {'res':result, 'res1':command}, context_instance=RequestContext(request))
else:
pass
return render_to_response('form.html', {'form': 'form'}, context_instance=RequestContext(request))