0

私の見解の 1 つで、次のようないくつかのセッションを保存しています。

def myview(request):
    request.session['session_1'] = 'value1
    request.session['session_2'] = 'value2'

次に、同じビュー関数と他のアプリケーションで見つかった他のビューで、次のようなセッション値を取得しようとしています:

   session_value1 = request.session['session_1'] 
   session_value2 = request.session['session_2']

「session_1」と「session_2」の値が期限切れにならず、Web サイトのどこでも利用できるようにしたいと考えています (同じアプリケーションの他のビューや他のアプリケーションのビューのように)。

私の問題は、同じページ/ビュー (上記) にいるときに、ページを更新するときに、session_1 と session_2 の値を取得する際に問題が発生することです。しかし、別のページに移動してから元のページに戻ると、'session_1' と 'session_2' の値がなくなっているとしましょう。また、「session_1」と「session_2」の値は、他のページ/ビューでは使用できません。

私のsettings.pyにはセッションの設定がないので、セッションのすべての値はデフォルトのものです。

セッションが保存されない理由はありますか? ありがとうございました!

4

1 に答える 1

4

私の問題は、同じページ/ビュー (上記) にいるときに、ページを更新するときに、session_1 と session_2 の値を取得する際に問題が発生することです。

同じビューで設定と取得を行っていますか? あの景色が見えるかな?文字通り「value1」を割り当てていますか、それともビューが問題を引き起こしている可能性はありますか?

session_keyページビュー間で同じですか?

これをコピーしてルート urls.py に貼り付け、アクセスしてください/session-test/

from django import http

def session_test_1(request):
    request.session['test'] = 'Session Vars Worked!'
    return http.HttpResponseRedirect('done/?session=%s' % request.session.session_key)

def session_test_2(request):
    return http.HttpResponse('<br>'.join([
        request.session.session_key,
        request.GET.get('session'),
        request.session.get('test', 'Session is Borked :(')
         ]))


urlpatterns += patterns('',
        (r'^session-test/$', session_test_1),
        (r'^session-test/done/$', session_test_2),
)
于 2011-02-05T19:42:37.113 に答える