0

在我的一个观点中,我正在保存一些这样的会话:

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”的值永不过期,并且在网站上的任何地方都可用(就像同一应用程序上的其他视图和其他应用程序上的视图一样)。

我的问题是,当我在同一页面/视图(如上所述)上刷新页面时,我在检索 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 回答