首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Django不保存重定向到其他视图之间的会话

Django是一个基于Python的开源Web应用框架,它提供了一套完整的开发工具和库,用于快速构建高质量的Web应用程序。在Django中,会话是一种用于在不同视图之间存储和共享数据的机制。然而,Django默认情况下不会保存重定向到其他视图之间的会话数据。

重定向是一种将用户从一个URL重定向到另一个URL的方式。当使用Django的重定向功能时,会话数据不会自动保存。这是因为Django的会话机制是基于Cookie的,默认情况下只有在响应返回给客户端时才会将会话数据保存到Cookie中。而重定向操作是在服务器端完成的,不会返回响应给客户端,因此会话数据不会被保存。

如果需要在重定向之间保持会话数据,可以使用Django的消息闪存(messages framework)来实现。消息闪存是一种临时存储数据的机制,可以在不同请求之间传递数据。在重定向之前,可以将需要保留的会话数据存储在消息闪存中,然后在重定向后的视图中读取并使用这些数据。

以下是使用Django消息闪存实现在重定向之间保存会话数据的示例代码:

代码语言:txt
复制
from django.contrib import messages
from django.shortcuts import redirect

def redirect_view(request):
    # 保存会话数据到消息闪存中
    messages.add_message(request, messages.INFO, '会话数据')

    # 重定向到其他视图
    return redirect('other_view')

def other_view(request):
    # 从消息闪存中读取会话数据
    messages.get_messages(request)

    # 处理其他逻辑
    # ...

    return HttpResponse('其他视图')

在上述示例中,redirect_view函数中的messages.add_message用于保存会话数据到消息闪存中。然后,通过redirect函数将请求重定向到other_view视图。在other_view视图中,可以通过messages.get_messages方法获取并使用之前保存的会话数据。

需要注意的是,Django的消息闪存默认情况下使用Cookie存储数据。如果需要更安全的存储方式,可以配置Django使用其他存储后端,如数据库或缓存。

推荐的腾讯云相关产品:腾讯云服务器(CVM)和腾讯云数据库(TencentDB)。腾讯云服务器提供可靠的云计算基础设施,可用于部署和运行Django应用程序。腾讯云数据库提供高性能、可扩展的数据库服务,适用于存储和管理应用程序的数据。

腾讯云服务器产品介绍链接:https://cloud.tencent.com/product/cvm 腾讯云数据库产品介绍链接:https://cloud.tencent.com/product/cdb

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

django 1.8 官方文档翻译:13-1-2 使用Django认证系统

Web请求中认证 Django使用会话和中间件来拦截request 对象认证系统中。 它们在每个请求上提供一个request.user属性,表示当前用户。...login()使用Django会话框架保存用户ID在会话中。 注意任何在匿名会话中设置数据都会在用户登入后会话中都会记住。...例如,视图检查用户邮件属于特定地址(例如@example.com),若不是,则重定向登录页面。...如果你在升级一个现存站点,并且希望开启这一中间件,而希望你所有用户之后重新登录,你可以首先升级DJango1.7并且运行它一段时间,以便所有会话在用户登录时自然被创建,它们包含上面描述会话哈希...如果通过POST调用并带有用户提交凭证,它会尝试登入该用户。如果登入成功,该视图重定向next中指定URL。

4.7K20
  • django

    - 可以把urls具体功能逐渐分散每个App中 - 从Django.conf.urls 导入 include - 注意此时RE部分写法 -...http协议要求任何内容,包括json,string,html等 - 简单视图 - Django.http给我们提供了很多和httpResponse类似的简单视图 - 此类视图使用方法基本类似...重定向,服务器端跳转 - 构造函数第一个参数用来指定重定向地址 - Request请求 - request介绍 - 服务器接收到http协议请求后会根据报文创建...cookie,键和值都为字符串 - SESSION: 一个既可读又可写类似于字典对象,表示当前会话,只有当Django启用会话支持时才可用,详细内容见“状态保持” - 方法...- 实验目的 - 利用Django快捷函数手动编写视图处理函数 - 编写过程中理解视图运行原理 - 分析: - Django把所有请求信息封装如

    1.7K10

    Django视图

    session:一个既可读又可写类似于字典对象,表示当前会话,只有当Django 启用会话支持时才可用,详细内容见"状态保持"。...expires是一个datetime或timedelta对象,会话将在这个指定日期/时间过期。 max_age与expires二选一。 如果指定过期时间,在关闭浏览器时cookie会过期。...此时不需要重新编写列表代码,而是转到这个视图就可以,此时就需要模拟一个用户请求效果,从一个视图转到另外一个视图,就称为重定向。...Django中提供了HttpResponseRedirect对象实现重定向功能,这个类继承自HttpResponse,被定义在django.http模块中,返回状态码为302。...重定向简写函数redirect 在django.shortcuts模块中为重定向类提供了简写函数redirect。 1)修改booktest/views.py文件中red1视图,代码如下: ? ?

    4.5K20

    Django MVT之V

    Django MVC概述和开发流程中已经讲解了DjangoMVT开发流程,本文重点对MVT中视图(View)进行重点讲解。...session:既可读又可写类似于字典对象,表示当前会话,只有当Django 启用会话支持时才可用,详细内容见”状态保持”。...当一个逻辑处理完成后,不需要向客户端呈现数据,而是转回到其它页面,如添加成功、修改成功、删除成功后显示数据列表,此时就需要模拟一个用户请求效果,从一个视图转到另外一个视图,就称为重定向。...Django中提供了HttpResponseRedirect对象实现重定向功能,这个类继承自HttpResponse,被定义在django.http模块中,返回状态码为302。...唯一标识码保存在Cookiesessionid中。 Session也是有过期时间,如果指定,默认为两周。 之前登陆demo已经通过Cookie来保存了用户名,这里用Session来保存密码。

    1.9K20

    Django 视图

    4.勾选该选项则可将虚拟环境提供给其他项目使用 二.视图函数 视图函数,简称视图,是一个简单python函数,它接收Web请求并返回Web响应。...响应可以是一张网页HTML内容,一个重定向,404错误等如何东西,但是,无论视图本身是个什么处理逻辑,最好都返回某种响应。...它就是视图函数,每个视图函数都使用HttpRequest对象作为第一个参数,并且通常称为request。注意,视图函数名称并不重要;不需要用一个统一命名方式来命名,以便让Django识别它....、首部信息、内容主题封装成HttpRequest类中属性,除了特殊说明之外,其他均为只读。...中间件:一个既可读又可写类似于字典对象,表示当前会话,只有当Django启用会话支持时才可用 11.HttpRequest.user AuthenticationMiddleware

    1.7K20

    Django之views系统

    属性:   django将请求报文中请求行、头部信息、内容主体封装成 HttpRequest 类中属性。 除了特殊说明之外,其他均为只读。...11.HttpRequest.session   一个既可读又可写类似于字典对象,表示当前会话。只有当Django 启用会话支持时才可用。 完整细节参见会话文档。...上传文件示例 def upload(request): """ 保存上传文件前,数据需要存放在某个位置。默认当上传文件小于2.5M时,django会将上传文件全部内容读进内存。...return redirect('some-view-name', foo='bar') 传递要重定向一个具体网址 def my_view(request): ......A页面临时重定向B页面,那搜索引擎收录就是A页面。 A页面永久重定向B页面,那搜索引擎收录就是B页面。

    2.2K70

    python 终极篇 --- django

    属性:   django将请求报文中请求行、头部信息、内容主体封装成 HttpRequest 类中属性。 除了特殊说明之外,其他均为只读。...11.HttpRequest.session   一个既可读又可写类似于字典对象,表示当前会话。只有当Django 启用会话支持时才可用。 完整细节参见会话文档。...def upload(request): """ 保存上传文件前,数据需要存放在某个位置。默认当上传文件小于2.5M时,django会将上传文件全部内容读进内存。...return redirect('some-view-name', foo='bar') 传递要重定向一个具体网址 def my_view(request): ......A页面临时重定向B页面,那搜索引擎收录就是A页面。 A页面永久重定向B页面,那搜索引擎收录就是B页面。 redirect 4.

    1.6K10

    django会话跟踪技术

    删除cookie session 为什么用session而不是cookie session其他方法 session设置 基于session上次登陆时间 django会话跟踪技术 什么是会话跟踪技术...我们可以把会话当作成客户端与服务器之间一次会晤,在一次会晤期间会有多次请求和响应。...HTTP无状态协议 HTTP协议是一种不保存状态,即无状态协议。HTTP协议自身不对请求和响应之间通信状态进行保存。也就是说在HTTP这个级别,协议对于发送过请求或响应都不做持久化处理。 ?...此时views.py中就是当用户再login界面登陆后,系统会设置cookie将当前状态和登陆用户名记录下来然后响应给客户端,然后当用户访问index界面中,首先就去判断用户是否登陆,如果没有登陆那么就重定向...index.html', locals()) else: return redirect('/login/') 那么当我们用户登陆login页面后,再去访问index界面,等待15秒钟后会自动重定向

    82720

    37.Django1.11.6文档

    (3)results() 当有人对Question进行投票后,vote()视图将请求重定向Question结果界面。...简单方法就是在视图中直接运行你对request.user测试。 例如,视图检查用户邮件属于特定地址(例如@example.com),若不是,则重定向登录页面。...ModelAdmin.save_as_continue Django新功能1.10。 当save_as=True时,保存新对象后默认重定向是该对象更改视图。 ...>>> s.get_decoded() {'user_id': 42} 会话保存时 默认情况下,Django 只有在会话被修改时才会保存会话数据库中 —— 即它字典中任何值被赋值或删除时: #...当设置为True时,Django 将对每个请求保存会话数据库中。 注意会话Cookie 只有在一个会话被创建或修改后才会发送。

    24.3K80

    03.Django基础三之视图函数

    属性:   django将请求报文中请求行、头部信息、内容主体封装成 HttpRequest 类中属性。 除了特殊说明之外,其他均为只读。...11.HttpRequest.session   一个既可读又可写类似于字典对象,表示当前会话。只有当Django 启用会话支持时才可用。 完整细节参见会话文档。   ...A跳转到地址B,搜索引擎会抓取新内容而保存网址。...临时重定向(响应状态码:302)和永久重定向(响应状态码:301)对普通用户来说是没什么区别的,它主要面向是搜索引擎机器人。 A页面临时重定向B页面,那搜索引擎收录就是A页面。...A页面永久重定向B页面,那搜索引擎收录就是B页面。 用redirect可以解释APPEND_SLASH用法!这个不讲~~

    5K30

    Django学习笔记之Django视图View

    属性:   django将请求报文中请求行、头部信息、内容主体封装成 HttpRequest 类中属性。 除了特殊说明之外,其他均为只读。...11.HttpRequest.session   一个既可读又可写类似于字典对象,表示当前会话。只有当Django 启用会话支持时才可用。 完整细节参见会话文档。...上传文件示例 def upload(request): """ 保存上传文件前,数据需要存放在某个位置。默认当上传文件小于2.5M时,django会将上传文件全部内容读进内存。...return redirect('some-view-name', foo='bar') 传递要重定向一个具体网址 def my_view(request): ......A页面临时重定向B页面,那搜索引擎收录就是A页面。 A页面永久重定向B页面,那搜索引擎收录就是B页面。

    1.8K30

    django 1.8 官方文档翻译: 13-9-1 如何使用会话

    django.contrib.auth.login() 调用这个方法来减缓会话固定。 会话序列化 在1.6 版以前,在保存会话数据后端之前Django 默认使用pickle 来序列化它们。...如果你希望在JSON 格式会话中存储更高级数据类型比如datetime 和 Decimal,你需要编写一个自定义序列化器(或者在保存它们request.session中之前转换这些值一个可JSON...>>> s.get_decoded() {'user_id': 42} 会话何时保存 默认情况下,Django 只有在会话被修改时才会保存会话数据库中 —— 即它字典中任何值被赋值或删除时: #...当设置为True时,Django 将对每个请求保存会话数据库中。 注意会话Cookie 只有在一个会话被创建或修改后才会发送。...每次会话数据更新时,Django 将更新这行。如果用户手工登出,Django 将删除这行。但是如果该用户登出,该行将永远不会删除。以文件为后端过程类似。

    1.2K20

    Django 2.1.7 视图 - HttpResponse对象、子类JsonResponse、子类HttpResponseRedirect

    expires是一个datetime或timedelta对象,会话将在这个指定日期/时间过期。 max_age与expires二选一。 如果指定过期时间,在关闭浏览器时cookie会过期。...如果使用这种方式构造一个漂亮丰富页面,对于开发人员真是会发疯,于是就有了下面的方式: 调用模板 可以将html、css、js定义一个html文件中,然后由视图来调用。...好了,这里就可以点击json1页面中按钮,通过ajax获取json2json返回数据了。 如下: ? ajax代码执行过程如下: 1.发起请求。 2.服务器端视图函数执行。...,而是转到这个视图就可以,此时就需要模拟一个用户请求效果,从一个视图转到另外一个视图,就称为重定向。...Django中提供了HttpResponseRedirect对象实现重定向功能,这个类继承自HttpResponse,被定义在django.http模块中,返回状态码为302。

    1.3K20

    Django视图

    欢迎阅读本专栏其他文章 Django 之路由篇 Django 之 Models(Models 模型 & 数据表关系) Django 之模板篇 views...其他简单视图 django.http 给我们提供了很多和HttpResponse类似的简单视图,通过查看django.http 代码我们知道 此类视图使用方法基本类似,可以通过return语句作为直接反馈返回给浏览器...max_age 是一个整数,表示在指定秒数后过期 expires 是一个datetime或timedelta对象,会话将在这个指定日期/时间过期, max_age 与 expires 二选一 如果指定过期时间...,则两个星期后过期 delete_cookie(key): 删除指keyCookie,如果key不存在则什么也不发生 HttpResponseRedirect 重定向,服务器跳转 构造函数第一个参数用来指定重定向地址...一个标准Python字典,包含所有的cookie,键和值都为字符串 session: 一个即可读又可写类似于字典对象,表示当前会话, 只有当Django启用会话支持时才可用 详细内容见"状态保持

    1.1K87

    Django用户身份验证完成示例代码

    在这篇Django文章中,wom 将讨论Django User 验证,Django附带了一个用户认证系统。 它处理用户帐户,组,权限和基于cookie用户会话。...PasswordChangeDoneView:用户成功重定向视图 PasswordResetView:允许用户重置其密码。...这是Django身份验证视图期望身份验证模板所处默认路径。 django.contrib.admin模块包含一些用于管理站点身份验证模板。...我们已将帐户应用程序放置在INSTALLED_APPS设置顶部,以便Django默认使用我们模板,而不使用其他应用程序中定义任何身份验证模板。...到此这篇关于Django用户身份验证完成示例代码文章就介绍这了,更多相关Django 身份验证 内容请搜索ZaLou.Cn以前文章或继续浏览下面的相关文章希望大家以后多多支持ZaLou.Cn!

    2.6K20

    关于“Python”核心知识点整理大全55

    P\d+)捕获值,并将其存储topic_id中(见1)。在2处,我们使用get()来获取 指定主题,就像前面在Django shell中所做那样。...你还探索了Django shell,它让你能够在终端会话中处理项目的数据。你学习了如何定义URL、 创建视图函数以及编写为网站创建网页模板。...然 后,我们再对这些有效信息进行处理,并将其保存到数据库合适地方。这些工作很多都是由 Django自动完成。...视图函数new_topic() 函数new_topic()需要处理两种情形:刚进入new_topic网页(在这种情况下,它应显示一个 空表单);对提交表单数据进行处理,并将用户重定向网页topics...我们使用reverse()获取页面topicsURL,并将其传递给HttpResponseRedirect()(见6),后者将用户浏览器重定向页 面topics。

    16110

    Django 集成 CAS 实现 SSO 单点登陆

    后端发现该请求未登陆,则返回前端 302 ,并 重定向 CAS 服务器登录页面,并携带当前用户访问网页链接 在CAS 服务器上,用户填写登录信息,浏览器发送请求 CAS 服务器进行认证 CAS...服务 认证通过,将本次登录保存会话,返回 服务票据 ST 并 重定向 浏览器至 APP 服务 APP服务接收前端重定向请求过来路径 以及 服务票据 ST ,APP服务 再将 服务票据 ST 请求至 CAS...image-20200909202310620 提示已经登陆成功,要注意,这里没有其他配置,所以不会跳至其他页面。只是在上面提示已经登陆成功!...image-20200914165737365 4.在项目的登陆视图,增加用户登陆状态判断,如果已登陆,则直接重定向至首页 ?...从上面的尝试过程中,可以确认 客户端项目 是可以保留 两种登陆用户 方式,并且两种方式用户数据都会保存在 客户端项目中。

    5.2K30
    领券