首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何设置Cookie值,然后立即重定向到下一页并显示其中的内容

如何设置Cookie值,然后立即重定向到下一页并显示其中的内容
EN

Stack Overflow用户
提问于 2018-06-07 04:21:40
回答 1查看 35关注 0票数 0

因此,我需要存储来自一个视图的两个变量,并重定向到另一个视图并显示它们。显而易见的解决方案是使用sessions,但我没有访问sessions的权限,因为我没有这个项目的数据库,所以我尝试使用sessions客户端,因为这无论如何都不是真正的安全问题。到目前为止,这是我的尝试:

查看我设置cookie的位置:

代码语言:javascript
复制
            response = HttpResponse('/result')
            response.set_cookie('passes', True)
            response.set_cookie('errors', [])
            v = jsonschema.Draft4Validator(schema)
            #Uses lazy validation to add all errors to validationErrors array
            for error in v.iter_errors(jsonFile):
                validationErrors.append(error)
                response.set_cookie('passes', False)
            for error in validationErrors:
                error.schma_path = error.schema_path.__str__()[5:]
                print error.schma_path
                print error.schema_path
            response.set_cookie('errors',validationErrors)
            ... 
            return redirect('/result')

查看我尝试获取cookie的位置:

代码语言:javascript
复制
passes = request.COOKIES.get('passes',"Doesn't Exist")
errors = request.COOKIES.get('errors', "Doesn't Exist")
return render(request, 'result.html', context = {'errors': errors, 'passes': passes})

没有设置传递和错误,因为它们都返回不存在。在不返回原始页面的情况下,我如何做到这一点?我不想返回response where response =render_to_response(当前视图的模板),因为它违背了我想要做的事情。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-07 04:34:43

您不会获得任何cookie值,因为实际上在为响应分配cookie之后,该函数将返回另一个Http响应。

代码语言:javascript
复制
response = HttpResponse('/result') # first Http Response
response.set_cookie('errors', [])
... 
return redirect('/result')  # An other one

在最后一行中,您返回另一个响应。

因此,您应该返回相同的响应:

代码语言:javascript
复制
response = redirect('/result') # redirect is here
response.set_cookie('errors', [])
... 
return response 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50728929

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档