djangoサーバーへの2つの別々のリクエストで変数を利用できるようにしたいようです-最初に、ユーザーがeditビューに移動したときにそれらを設定し、次に呼び出す別のビューでそれらを取得したいhandle_upload.
渡す実際のデータに応じて、ここには 2 つのオプションがあります。
- それをテンプレートに渡し、編集フォームの非表示フィールドとして追加します。
これが最も簡単な方法かもしれませんが、機密データには注意してください。悪意のあるユーザーにこのデータを表示 (さらには編集) させたくない場合は、これを行わないでください。ユーザーが悪意を持っている場合、非表示の html フィールドを編集できます。サーバーの安全性を損なう可能性がある場合は、この情報が正しいとは限りません。
renderまず、 の代わりにを使用することをお勧めしますrender_to_response。後者は時代遅れであり、まもなく廃止される予定です。renderオブジェクトがあることを確認RequestContextし、最初の引数が実際のrequestオブジェクトである必要があります。
render(request, 'some_site.html', locals())
次に、テンプレートのフォーム内で次のようにします。
<input type='hidden' name='name1' value='{{ dynamic_variable_1 }}' />
<input type='hidden' name='name2' value='{{ dynamic_variable_2 }}' />
次に、などrequest.POST.get('name1')の値を取得するために使用します。dynamic_variable_1
このようにして、データはサーバーにとどまり、Python オブジェクトのままになるため、あらゆる種類のオブジェクトを処理できます (100% 確実ではないと思います)。
まず、あなたのsettings.py'django.contrib.sessions.middleware.SessionMiddleware'にあることを確認してください。Django のコマンドMIDDLEWARE_CLASSESを使用した場合はデフォルトです。startapp
次に、 で次の操作を行いますedit。
request.session['name1'] = dynamic_variable1
request.session['name2'] = dynamic_variable2
次に、 を呼び出すビューでhandle_upload、次の操作を行い、変数を に渡しますhandle_upload。
dynamic_variable1 = request.session['name1']
dynamic_variable2 = request.session['name2']