django - 当我使用链接返回同一页面时,由于某种原因会话不会保存

发布于 2024-10-16 04:30:49 字数 670 浏览 3 评论 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 上没有会话设置,因此会话的所有值都是默认值。

有什么想法为什么会话没有保存吗?谢谢你!

In one of my views I'm saving a few sessions like this:

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

Then on the same view function and also other views found on other applications I'm trying to get the session values like this:

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

I would like the values for the 'session_1' and 'session_2' to never expire and also be available anywhere on the web site (like other views on the same application and views on other applications).

My problem is that when I'm on the same page/view (just described above) when I do a refresh to the page I have to problems retrieving session_1 and session_2 values. But let's say if I go to a different page and then come back to the original page the 'session_1' and 'session_2' values are gone. Also the values of the 'session_1' and 'session_2' are not available on any other page/view.

I have no settings for sessions on my settings.py so all the values for sessions are the default ones.

Any thoughts why the sessions are not saved? Thank you!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

裸钻 2024-10-23 04:30:49

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

My problem is that when I'm on the
same page/view (just described above)
when I do a refresh to the page I have
to problems retrieving session_1 and
session_2 values.

So you are setting and retrieving on the same view? Can I see that view? Are you literally assigning 'value1' or is there otherwise any chance your view is causing problems?

Is the session_key the same between page views?

Copy and paste this into your root urls.py and visit /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),
)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文