gpt4 book ai didi

django - HttpResponseRedirect 后 session 数据丢失

转载 作者:行者123 更新时间:2023-12-04 13:44:42 24 4
gpt4 key购买 nike

我有这个设置 session 变量的重定向 View 。但就好像 session 是flush ed 在被重定向到的 View 被调用之前,因为整个 session 在那里是空的。

(顺便说一句,这是真正的代码,我已经切了一些东西来找到原因,但仍然找不到)。

class ActivateUserView(RedirectView):
def get(self, request, *args, **kwargs):
# activates user and redirects to listing
listing = Listing.objects.get(id=2)
request.session['test'] = 'icle'
print("Session set to: ", request.session.get('test', "Nothing!"))
return HttpResponseRedirect(reverse('listing-detail', kwargs={'pk': listing_pk, 'slug': listing.slug}))

上面的 View 被重定向到:
class ListingDetailView(TemplateView):
template_name = "frontend/detail.html"

@method_decorator(ensure_csrf_cookie)
def get(self, request, *args, **kwargs):
print("Session data: ", request.session.get('test', "Nothing!"))
return super(ListingDetailView, self).get(request, *args, **kwargs)

在控制台中,我得到:
Session set to:  icle 
Session data: Nothing!

我已经检查过 django-debug-toolbar,在这里和那里引发异常,在重定向调用和 View 之间的某个地方,所有 session 数据都被删除。

最佳答案

设置 SESSION_COOKIE_SECURE为 False(在我的开发设置中)解决了这个问题。我使用的是本地的非 https 开发环境。

关于django - HttpResponseRedirect 后 session 数据丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50873880/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com