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']