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

如果用户再次登录,如何将用户重定向到他在django的最后一次会话中访问的最后一个页面?

在Django中,可以通过使用session来实现将用户重定向到他在最后一次会话中访问的最后一个页面。具体步骤如下:

  1. 首先,在settings.py文件中启用session支持。找到MIDDLEWARE设置项,并确保django.contrib.sessions.middleware.SessionMiddleware中间件已添加到其中。
  2. 在视图函数中,当用户登录成功后,将用户访问的最后一个页面的URL保存到session中。可以使用request.session['last_visited_page'] = request.path来保存。
  3. 创建一个装饰器函数,用于检查用户是否已登录。如果用户未登录,则将其重定向到登录页面。在装饰器函数中,可以使用request.session.get('last_visited_page')来获取用户最后访问的页面URL。
  4. 在登录视图函数中,当用户成功登录后,可以使用redirect函数将用户重定向到之前保存的最后一个页面。例如,return redirect(request.session.get('last_visited_page', '/'))

这样,当用户再次登录时,就会被重定向到他在Django的最后一次会话中访问的最后一个页面。

推荐的腾讯云相关产品:腾讯云服务器(CVM)和腾讯云数据库(TencentDB)。

  • 腾讯云服务器(CVM):提供弹性、安全、可靠的云服务器,适用于各种应用场景。了解更多信息,请访问:腾讯云服务器产品介绍
  • 腾讯云数据库(TencentDB):提供高性能、可扩展的数据库服务,包括关系型数据库(MySQL、SQL Server等)和非关系型数据库(MongoDB、Redis等)。了解更多信息,请访问:腾讯云数据库产品介绍
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

创建一个欢迎 cookie 利用用户提示框输入数据创建一个 JavaScript Cookie,当该用户再次访问页面时,根据 cookie 信息发出欢迎信息。…

创建一个欢迎 cookie 利用用户提示框输入数据创建一个 JavaScript Cookie,当该用户再次访问页面时,根据 cookie 信息发出欢迎信息。...有关cookie例子: 名字 cookie 当访问者首次访问页面时,他或她也许会填写他/她们名字。名字会存储于 cookie 。...当访问再次访问网站时,他们会收到类似 “Welcome John Doe!” 欢迎词。而名字则是从 cookie 取回。...密码 cookie 当访问者首次访问页面时,他或她也许会填写他/她们密码。密码也可被存储于 cookie 。...当他们再次访问网站时,密码就会从 cookie 取回。 日期 cookie 当访问者首次访问网站时,当前日期可存储于 cookie

2.6K10

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

如果用户名和密码无误,方法 authenticate()将返回一个通过了身份验证用户对象,而我们将其存储authenticated_user 。...最后,我们将用户重定向到主页(见7),其页眉显示了一条 个性化问候语,让用户知道注册成功了。 3....login_required()代码检查用户是否已登录,仅当用户登录时,Django才运行topics() 代码。如果用户登录,就重定向登录页面。.../login/' 现在,如果登录用户请求装饰器@login_required保护页面Django重定向到 settings.pyLOGIN_URL指定URL。...然后,单击链接Topics,这将重定向登录页面。接 下来,使用你账户登录,并再次单击主页Topics链接,你将看到topics页面。 2.

9810

Django 用户认证系统使用总结

('new password') >>>u.save() 注:这里new password为明文 如果已经安装了Django admin应用,也可以认证系统管理页面修改用户密码 修改密码,将注销对应用户所有会话...,最后再验证is_active是否未1,如果为1,则返回None 权限和认证(Permissions and Authorization) 略 Web请求认证 Django为每个请求提供了 request.user...如果当前用户登录,则该属性值将被设置为一个匿名用户AnonymousUser,否则将设置为User一个实例。...注意:用户登录后,会话依旧保留登录任何匿名会话数据。..., user) # do something 比如重定向一个成功页面. ... else: # do something,比如返回一个登录错误消息 ...

1.8K10

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

它接受一个HttpRequest对象和一个User对象。login()使用Django会话框架保存用户ID会话。 注意任何在匿名会话设置数据都会在用户登入后会话中都会记住。...如果你想在用户登出之后>可以立即访问放入会话数据,请在调用django.contrib.auth.logout()之后放入。...限制访问给登陆后用户 原始方法 限制页面访问简单、原始方法是检查request.user.is_authenticated()并重定向一个登陆页面: from django.conf import...把它设置为 None 来把它从 URL 移除,当你想把通不过检查用户重定向到没有next page 登录页面时。...如果升级一个现存站点,并且希望开启这一间件,而不希望你所有用户之后重新登录,你可以首先升级到DJango1.7并且运行它一段时间,以便所有会话用户登录时自然被创建,它们包含上面描述会话哈希

4.6K20

单点登录与授权登录业务指南

当他点击论坛链接时,系统检测到他已经通过SSO登录,因此直接允许他访问,而无需再次登录。在这个过程,Tom与SSO认证中心会话是全局,而他与邮件系统和论坛会话是局部。...这意味着他们登录一次后,无需为访问其他系统再次输入凭据。...用户重定向登录页面最后,SSO认证中心将用户重定向登录页面,表示注销过程已完成。 示例: 比如,Alice在她工作地点使用了邮件系统(系统1)和内部论坛(系统2)。...接着,论坛系统销毁与Alice相关会话。在这个过程,Alice全局会话和所有相关局部会话都被销毁,确保她在所有系统中都成功注销,最后,Alice被重定向登录页面。...业务流程用户首先在客户端应用上发起登录或数据访问请求。 客户端应用将用户重定向到服务提供者授权页面用户页面上进行登录并授权。

71121

Django实现SSO

单点登录实现原理 当用户(浏览器)访问我们服务(第三方应用)时, 服务首先判断用户是否已经登录(其实就是判断请求是否有sessionid),如果没有登录,则重定向至认证服务器,重定向过程中将原始URL...并在响应添加Set-Cookie字段。 用户接收响应之后,设置会话cookie,也就是sessionid。 当用户再次访问服务时,携带cookie,所以服务会判断用户已经登录,从而实现直接访问。...Django实现过程 为了Django接入Oauth,先得去掉Django提供session服务和认证服务。然后自定义一个中间件。...,不带cookie,所以重定向至认证服务器进行认证 第二步:认证服务器重定向至原始访问页面,不带cookie,但带有code 第三步:后台使用code从认证服务器获取token,获取token...之后再获取用户信息,响应设置cookie 第四步:用户携带cookie访问后台,这时可以直接登录 """ def __init__(self, get_response=None

3K30

cookie和session「建议收藏」

我们可以给每个客户端cookie分配一个唯一id,这样用户访问时,通过cookie,服务器就知道来的人是“谁”。...另外,上述所说cookie和session其实是共通性东西,不限于语言和框架 二、登录应用原理 前几节介绍我们已经有能力制作一个登陆页面验证了用户名和密码正确性后跳转到后台页面。...有了这个验证过程,我们就可以实现和其他网站一样必须登录才能进入后台页面了。 先说一下这种认证机制。每当我们使用一款浏览器访问一个登陆页面的时候,一旦我们通过了认证。...这用于确保前面的会话数据不可以再次用户浏览器访问 例如,django.contrib.auth.logout() 函数中就会调用它。...url重定向到后台url 15 return redirect('/backend/') 16 17 #登录不成功或第一访问就停留在登录页面 18 return

51140

Django-认证系统

我们可以给每个客户端cookie分配一个唯一id,这样用户访问时,通过cookie,服务器就知道来的人是“谁”。...另外,上述所说cookie和session其实是共通性东西,不限于语言和框架 登陆应用 前几节介绍我们已经有能力制作一个登陆页面验证了用户名和密码正确性后跳转到后台页面。...这用于确保前面的会话数据不可以再次用户浏览器访问 例如,django.contrib.auth.logout() 函数中就会调用它。...4 、user对象 is_authenticated() 要求: 1  用户登陆后才能访问某些页面, 2  如果用户没有登录访问页面的话直接跳到登录页面用户跳转登陆界面完成登陆后,自动访问跳转到之前访问地址...若用户没有登录,则会跳转到django默认 登录URL '/accounts/login/ ' (这个值可以settings文件通过LOGIN_URL进行修改)。

1.5K101

【Python全栈100天学习笔记】Day47 Django中间件使用

在上一个章节,我们在用户登录成功后通过session保留了用户信息,接下来我们可以应用做一些调整,要求在为老师投票时必须要先登录登录用户可以投票,否则就将用户引导到登录页面,为此我们可以这样修改视图函数...,我们跳转登录时设置了一个backurl参数,把当前浏览器URL作为返回页面地址。...如果我们应用中有很多功能都需要用户登录才能执行,例如将前面导出Excel报表和查看统计图表功能都加以登录限制,那么我们是不是需要在每个视图函数添加代码来检查session是否包含了登录用户信息呢...Django项目中,我们可以把验证用户是否登录这样重复性代码放到中间件。...当然,在这个过程用户请求可以被拦截,就像上面我们自定义中间件那样,如果用户没有登录情况下访问了受保护资源,中间件会将请求直接重定向登录页,后面的中间件和视图函数将不再执行。

71420

六种Web身份验证方法比较和Flask示例代码

它不要求用户每个请求中提供用户名或密码。相反,登录后,服务器将验证凭据。如果有效,它将生成一个会话,将其存储会话存储,然后将会话 ID 发送回浏览器。...包 烧瓶-登录 Flask-HTTPAuth Django用户身份验证 快速API登录 FastAPI-Users 代码 Flask-Login非常适合基于会话身份验证。...HTTP 身份验证 如何使用 Flask 登录为您应用程序添加身份验证 基于会话身份验证,带 Flask,适用于单页应用 烧瓶CSRF保护 Django 登录和注销教程 Django 基于会话单页应用身份验证...此方法通常与基于会话身份验证结合使用。 流程 您访问网站需要您登录。您导航到登录页面,并看到一个名为“使用Google登录按钮。您点击该按钮,它会将您带到Google登录页面。...如果 OpenID 系统已关闭,用户将无法登录。 人们通常倾向于忽略 OAuth 应用程序请求权限。 已配置 OpenID 提供程序上没有帐户用户将无法访问应用程序。

7.1K40

Django之视图层

10.request.session   一个既可读又可写类似于字典对象,表示当前会话。只有当Django 启用会话支持时才可用。 完整细节参见会话文档。...11.request.user(用户认证组件下使用)   一个 AUTH_USER_MODEL 类型对象,表示当前登录用户。   ...如果用户当前没有登录,user 将设置为 django.contrib.auth.models.AnonymousUser 一个实例。...301表示旧地址A资源已经被永久地移除了(这个资源不可访问了),搜索引擎抓取新内容同时也将旧网址交换为重定向之后网址;   302表示旧地址A资源还在(仍然可以访问),这个重定向只是临时地从旧地址...这种情况下,如果不做重定向,则用户收藏夹或搜索引擎数据库旧地址只能让访问客户得到一个404页面错误信息,访问流量白白丧失;再者某些注册了多个域名 网站,也需要通过重定向访问这些域名用户自动跳转到主站点等

1.7K10

django会话跟踪技术

在你们通话过程,你会向10086发送多次请求,那么这些请求都会保存在一个会话JavaWeb,客户端向服务器发出第一个请求开始,会话就开始了,直到客户端关闭了浏览器会话结束。...一次会话多个请求需要共享数据,这就是会话跟踪技术。...例如在一个会话请求如下: 请求银行主页 请求登陆(请求参数是用户名和密码) 请求转账(请求参数与转账相关数据) 请求信用卡还款(请求参数与还款相关数据) 以上这次会话,当前用户信息必须是要在这次会话中共享...login界面登陆后,系统会设置cookie将当前状态和登陆用户名记录下来然后响应给客户端,然后当用户访问index界面,首先就去判断用户是否登陆,如果没有登陆那么就重定向到login页面如果登陆则跳出欢迎界面...'123dfdf) 最后django_session表创建一条记录:sessionid session_data 那么到最后返回到客户端就是一个sessionid,当客户端浏览器再请求服务器时,服务器就会根据这个

81120

Django 集成 CAS 实现 SSO 单点登陆

后端发现该请求未登陆,则返回前端 302 ,并 重定向到 CAS 服务器登录页面,并携带当前用户访问网页链接 CAS 服务器上,用户填写登录信息,浏览器发送请求到 CAS 服务器进行认证 CAS...服务 认证通过,将本次登录保存到会话,返回 服务票据 ST 并 重定向 浏览器至 APP 服务 APP服务接收前端重定向请求过来路径 以及 服务票据 ST ,APP服务 再将 服务票据 ST 请求至 CAS...登陆页面 http://127.0.0.1:8000/login ? image-20200914135857849 登陆页面,我提供了填写用户、密码以及验证码,然后点击登录按钮功能。...也就是说,我可以一个页面设置不同登陆访问,如下: ? image-20200914165552564 点击CAS登陆,显示如下: ? image-20200914165617366 ?...image-20200914165737365 4.项目的登陆视图,增加用户登陆状态判断,如果已登陆,则直接重定向至首页 ?

4.7K30

django 1.8 官方文档翻译: 3-6-2 内建中间件

如果开启了这些缓存,任何一个Django提供页面将会被缓存,缓存时长是由你CACHE_MIDDLEWARE_SECONDS配置定义。详见缓存文档。...“常用”中间件 class CommonMiddleware[source] 给完美主义者增加一些便利条件: 禁止访问DISALLOWED_USER_AGENTS设置用户代理,这项配置应该是一个已编译正则表达式对象列表...如果设置USE_ETAGS为True,Django会通过MD5-hashing处理页面的内容来为每一个页面请求计算Etag,并且如果合适的话,它将会发送携带Not Modified响应。...如果JavaScript服务器响应中被重放,页面就会停止渲染,并展示一个错误页来取代。 X-XSS-Protection协议头用来控制XSS过滤器操作。...class SessionAuthenticationMiddleware[source] Django 1.7新增 当用户修改密码时候使用户会话失效。详见密码更改时会话失效。

93130

Python进阶26-Django 视图层

如果用户当前没有登录,user 将设置为 django.contrib.auth.models.AnonymousUser 一个实例。...如果字典某个值是可调用,视图将在渲染模板之前调用它。 render方法就是将一个模板页面模板语法进行渲染,最终渲染成一个html页面作为响应体。...301和302状态码都表示重定向,就是说浏览器拿到服务器返回这个状态码后会自动跳转到一个URL地址,这个地址可以从响应Location首部获取 (用户看到效果就是他输入地址A瞬间变成了另一个地址...301表示旧地址A资源已经被永久地移除了(这个资源不可访问了),搜索引擎抓取新内容同时也将旧网址交换为重定向之后网址;   302表示旧地址A资源还在(仍然可以访问),这个重定向只是临时地从旧地址...这种情况下,如果不做重定向,则用户收藏夹或搜索引擎数据库旧地址只能让访问客户得到一个404页面错误信息,访问流量白白丧失;再者某些注册了多个域名 网站,也需要通过重定向访问这些域名用户自动跳转到主站点等

1.9K20

Django框架学习笔记(四)URL跳转与多app环境

所以今天会向大家介绍一下Djangourl跳转以及多app环境管理。 一、URL跳转 URL跳转是什么呢?URL跳转可以称为URL重定向,表示从一个HTML页面跳到另外一个页面。...通过a标签访问指定页面 2. 通django跳转 满足一定条件自动跳转,常使用redirect关键字。某些网站如果你没有登录的话它会自动跳转到登录页面。...使用redirect方法进行重定向,首先需要导包: from django.shortcuts import redirect views定义登陆方法时,我们试着从url获取用户名,如果用户名存在则访问首页...:用户访问首页,没有登录情况下会自动重定向登录页面。...用户登录访问登录页面登录了则访问主页 二、多app项目 实际开发过程,为了减少相互之间干扰,以及便于团队之间同步开发,网站一个模块都部署不同app

3.9K31

Python 项目实践三(Web应用程序)第五篇

本节,我们将修改模型Topic,让每个主题都归属于特定用户。这也将影响条目,因为每个条目都属于特定主题。我们先来限制对一些页面访问。...login_required()代码检查用户是否已登录,仅当用户登录时,Django才运行topics()代码。如果用户登录,就重定向登录页面。...2 全面限制对项目“学习笔记”访问 项目“学习笔记”,我们将不限制对主页、注册页面和注销页面访问,并限制对其他所有页面访问。...最后,我们必须对有些视图进行修改,使其只显示与当前登录用户相关联数据。...为此,启动一个Django shell会话,并执行如下命令: ? 3 迁移数据库 知道用户ID后,就可以迁移数据库了。 ? 现在可以执行迁移了。为此,活动虚拟环境执行下面的命令: ?

1.3K80

cookie、session和中间件

这时因为HTTP协议无状态、无连接特点,也就是浏览器访问过服务器后如果断开连接,服务器不会记录浏览器访问状态,这时候就需要利用cookie和session保存用户登录状态。...我们可以给每个客户端Cookie分配一个唯一id,这样用户访问时,通过Cookie,服务器就知道来的人是“谁”。...request.session.flush() 这用于确保前面的会话数据不可以再次用户浏览器访问 例如,django.contrib.auth.logout() 函数中就会调用它。...Django设置session时是针对浏览器如果同一台电脑同一浏览器,多用户登录时在数据库只会产生一条记录,但是不影响各个用户对session值取用。...request.session['k1'] = 'v1' 这句话Django内部帮你做事情: 1.内部自动调用算法生成一个随机字符串(这个字符串是唯一如果同一用户不同电脑上登录得到字符串是不一样

1.2K20

Django之cookie、session

我们可以给每个客户端cookie分配一个唯一id,这样用户访问时,通过cookie,服务器就知道来的人是“谁”。...另外,上述所说cookie和session其实是共通性东西,不限于语言和框架 登陆应用 前几节介绍我们已经有能力制作一个登陆页面验证了用户名和密码正确性后跳转到后台页面。...有了这个验证过程,我们就可以实现和其他网站一样必须登录才能进入后台页面了。 先说一下这种认证机制。每当我们使用一款浏览器访问一个登陆页面的时候,一旦我们通过了认证。...这用于确保前面的会话数据不可以再次用户浏览器访问 例如,django.contrib.auth.logout() 函数中就会调用它。...url重定向到后台url return redirect('/backend/') #登录不成功或第一访问就停留在登录页面 return render(request

63530

【Python全栈100天学习笔记】Day45 Cookie和Session介绍及使用

服务器端,我们想记住一个用户最简单办法就是创建一个对象,通过这个对象就可以把用户相关信息都保存起来,这个对象就是我们常说session(用户会话对象)。...我们继续完善之前投票应用,前一个章节我们实现了用户登录和注册,下面我们首先完善登录时对验证码检查。...}) 上面的代码,我们设定了登录成功后会在session中保存用户编号(userid)和用户名(username),页面重定向到首页。...接下来我们可以稍微对首页代码进行调整,页面的右上角显示出登录用户用户名。...   {% endif %} 注册 如果用户没有登录页面会显示登录和注册超链接;而用户登录成功后

82130
领券