Django登陆以后重定向到请求登陆的页面

登陆和注销操作在网页编程上很常见,这两个操作经常需要在操作成功以后转入发出请求的页面。

比如用户正在浏览一篇文章,发现下载该文章的附件需要登录才能进行,这时候点击登陆链接转入登陆页面,输入用户名密码登陆成功以后,会自动转回原来的那篇文章所在的页面。(目前很多网站采用ajax方法弹出对话框登陆,效果更好一些)

怎么做呢?下面说的是django的实现,但是大多数的web framework都可以这么做。

注销操作
因为不需要单独的注销页面,相对简单,利用HTTP_REFERER,Django的注销页面这样写就行:

登录操作
登陆操作相对复杂,因为一般都有单独的登陆页面,如果登陆成功再取HTTP_REFERER就是登陆页面自己的url,而不是之前的那个页面。

可以利用django的session,在转入登陆的时候,用的是页面的get请求,这时候在session中记录HTTP_REFERER,用户输入用户名密码进行登陆的时候(Post请求),从session中取出即可:

最后的重定向,有时候需要用户感觉到被重定向回去了,就写个简单的页面告诉用户两秒以后跳转,然后改改相应的login代码就行:

Original: https://www.cnblogs.com/to-creat/p/7200596.html
Author: Wei_java
Title: Django登陆以后重定向到请求登陆的页面

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/537036/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • druid数据源手动创建

    手动创建druid数据源,可以使用jdbc或者通过aspect进行多数据源的动态切换 通过md5加密创建唯一key,在key重复时不进行创建, 创建的数据源可以通过dataSour…

    Java 2023年6月16日
    049
  • Java是编译性语言还是解释型语言 ?

    0.先说明一下怎么突然想到这个问题了. 大概思路应该是这个样子的 … JVM –> Java内存区域 –>运行时数据区域 &#821…

    Java 2023年5月29日
    063
  • 华为交换机–项目二

    知识点 对于vlan的理解和静态路由的配置,并熟悉 交换机配置的各种常用命令。能对虚拟局域网配置是否正确进行测试 实验要求 按照下面的网络模型图,进行VLAN的配置。 计算机 PC…

    Java 2023年6月15日
    073
  • jdk自带监控程序jvisualvm的使用

    监控小程序的配置 生产环境tomcat的配置 编辑应用所在的tomcat服务器下的bin目录下的catalina.sh文件,修改如下: 配置如下内容: export JAVA_OP…

    Java 2023年5月30日
    076
  • 多系统对接的适配与包装模式应用

    日常开发系统中通常需要对接多个系统,需要用到适配器模式。 例如:支付方式就涉及多个系统对接。 国际惯例,先引入概念。 适配器模式: 提到适配器自然就能想到手机用的电源适配器。 他的…

    Java 2023年6月9日
    069
  • 4 信息的表示和处理_信息存储

    开头:本章研究在计算机上如何表示数字和其它形式数据的基本属性,以及计算机对这些数据执行操作的属性。 注意:这部分谈到的内存,并不是指硬件中的内存条,而是在《计算机系统漫游》章节中的…

    Java 2023年6月7日
    065
  • day43-反射02

    Java反射02 2.Class类 2.1基本介绍 Class类也是类,因此也继承Object类 Class类对象不是new出来的,而是系统创建的 对于某个类的Class类对象,在…

    Java 2023年6月15日
    058
  • Linux、Windows下Redis的安装即Redis的基本使用详解

    前言 什么是Redis Redis是一个基于 内存的key-value结构数据库。Redis 是互联网技术领域使用最为广泛的存储中间件,它是「 Remote Dictionary …

    Java 2023年6月15日
    068
  • Spring中获取bean的方式

    1. 获取bean 在上图的测试类中我们是通过id来获取bean的。实际上获取bean的方式有很多种,下面我们就一一说明。 由于 id 属性指定了 bean 的唯一标识,所以根据 …

    Java 2023年6月14日
    064
  • ENDIAN的由来及BIG-EDIAN 和LITTLE-ENDIAN(转)

    在各种计算机体系结构中,对于字节、字等的存储机制有所不同,因而引发了计算机通信领域中一个很重要的问题,即通信双方交流的信息单元(比特、字节、字、双字等等)应该以什么样的顺序进行传送…

    Java 2023年6月6日
    081
  • Kubernetes-PV-PVC

    1. 简介 持久卷(PersistentVolume,PV&#…

    Java 2023年6月7日
    061
  • 漫话规则引擎(4): Java规则引擎规范:JSR94

    5 代码示例 下面是使用Drools作为规则引擎实例的一个例子,规则文件使用了Drools的drl格式: JSR94Sample.java package com.sample; …

    Java 2023年5月29日
    059
  • [推荐]MyBatis 核心技术与面试 34 讲

    MyBatis 核心技术与面试 34 讲 职业生涯中常被问到: 如何成为某方面的高手? 如何快速搞定某项技术? 我现在的水平处于什么阶段? …… 我暗暗想,…

    Java 2023年5月30日
    0189
  • 【JAVA】普通IO数据拷贝次数的问题探讨

    最近看到网上有些文章在讨论JAVA中普通文件IO读/写的时候经过了几次数据拷贝,如果从系统调用开始分析,以读取文件为例,数据的读取过程如下(以缓存I/O为例): 应用程序调用rea…

    Java 2023年6月8日
    088
  • 正则 捕获组之反向引用

    之前写正则的时候,经常用到 (.*?) 之类的用法.一般在替换的时候会用 $1 来引用括号里面匹配到的内容比如, 1.1.1.1 aaaa 2.2.2.2 bbbb 3.3.2.3…

    Java 2023年6月16日
    086
  • lambda表达式和stream流

    lambda表达式 基本格式 (Object o1, Object o2) -> {方法体} o1、o2:方法参数 ->:特定的箭头符号 {…}:方法体内容…

    Java 2023年6月6日
    063
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球