Django(24)永久重定向和临时重定向「建议收藏」

Django(24)永久重定向和临时重定向「建议收藏」重定向重定向分为永久重定向和临时重定向,在页面上体现的操作就是浏览器会从一个页面自动跳转到另外一个页面。比如用户访问了一个需要权限的页面,但是该用户当前并没有登录,因此我们应该给他重定向到登录页面。

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

重定向

重定向分为永久重定向临时重定向,在页面上体现的操作就是浏览器会从一个页面自动跳转到另外一个页面。比如用户访问了一个需要权限的页面,但是该用户当前并没有登录,因此我们应该给他重定向到登录页面。
 

  • 永久重定向:http的状态码是301,多用于旧网址被废弃了要转到一个新的网址确保用户的访问,最经典的就是京东网站,你输入www.jingdong.com的时候,会被重定向到www.jd.com,因为jingdong.com这个网址已经被废弃了,被改成jd.com,所以这种情况下应该用永久重定向。
  • 临时重定向:http的状态码是302,表示页面的暂时性跳转。比如访问一个需要权限的网址,如果当前用户没有登录,应该重定向到登录页面,这种情况下,应该用暂时性重定向。
     

重定向函数redirect

在Django中,重定向是使用redirect(to, *args, permanent=False, **kwargs)来实现的。

  • to是一个url地址,
  • permanent默认是False代表临时重定向,设置为True代表永久重定向。

关于重定向的使用。请看以下例子:

# views.py
def index(request):
    if request.GET.get('username'):
        return HttpResponse("欢迎来到个人中心")
    else:
        return redirect(reverse('login'))


def index2(request):
    return HttpResponse('登录页面')


# urls.py
urlpatterns = [
    path('', views.index),
    path('login/', views.index2, name="login")
]

接下来我们访问127.0.0.1,因为没有携带参数username,所以会执行indexelse语句,会302临时重定向到/login/路由,我们可以通过Pycharm控制台看到

[21/May/2021 03:04:45] "GET / HTTP/1.1" 302 0
[21/May/2021 03:04:45] "GET /login/ HTTP/1.1" 200 12

如果需求是要永久重定向,那么将permanent设置为True即可

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/165454.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java实现hello world代码

    Java实现hello world代码publicclassHelloWorld {    publicstaticvoidmain(String[]args){       System.out.println("HelloWorld");    }}

    2022年5月28日
    44
  • 基于Vue的电商后台管理系统(2)

    基于Vue的电商后台管理系统(2)电商后台管理系统2前言上期已经实现该系统的登陆界面、路由、登录、退出及导航守卫功能,本期将继续完善该系统的以下功能:从后端获取后台列表数据并渲染到前端页面、用户列表的展示、修改、删除和添加。后台页面布局本系统后台将采用ElementUI中的Container布局容器。基本结构如下:代码框架:<el-container><el-header>Header</el-header><el-container><el-a

    2022年6月11日
    31
  • html 怎么让整体居中,html中表格整体居中 详解html里面如何让表格居中[通俗易懂]

    html 怎么让整体居中,html中表格整体居中 详解html里面如何让表格居中[通俗易懂]把表格在页面中间显示。。。分享代码。。。在这个无谓的年华,无论别人多么高高不可攀比,但小编还是选择,做一个适应自己的人。首先打开vscode编辑器,新建一个html文档,里面写入一个外层的div,再加入一行table表格:知道谢每一粒种子,每一缕清风,也知道早起播种和御风而行。然后在上方的style标签中加入css样式,设置table标签的样式,table的元素具有长度自适应性,其长度根据其内…

    2022年9月19日
    1
  • 软件过程模型_软件测试过程模型

    软件过程模型_软件测试过程模型软件过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。通常使用生命周期模型简洁地描述软件过程。生命周期模型规定了把生命周期划分成哪些阶段及各个阶段的执行顺序,因此,也称为过程模型。常见的过程模型有瀑布模型、快速原型模型、增量模型、螺旋模型、喷泉模型等。1.瀑布模型这个特点有两重含义:   1.必须等前一阶段的工作完成之后,才能开始后一阶段的工作;…

    2025年7月21日
    0
  • java文件上传下载接口_java 文件上传下载

    java文件上传下载接口_java 文件上传下载翻新十年前的老项目,文件上传改为调用接口方式,记录一下子~~~java后台代码://取配置文件中的上传目录@Value(“${uploadPath}”)Stringpath;//文件上传接口@RequestMapping(value=”upload”)@ResponseBodypublicStringgetMobileAuthCode(HttpServletRequestreques…

    2022年5月15日
    42
  • Java怎么安装 详细教程来了 附带安装包

    Java怎么安装 详细教程来了 附带安装包首先,有很多小伙伴不会java环境搭建,java不需要安装,java是绿色软件,尤其是openjdk是绿色软件,你解压缩即可食用,步骤如下:1)去injdkcn上下载openjdk或者gaa,都可以,下载之后,解压缩2)去idea官方网站下载免费的,社区版的idea,对,就是右边色的那个版本,别下错,下成左边蓝色版本,那个是收费的,下载下来之后,安装ide3)打开刚刚安装好的ide,然后就可以开始写java了,当ide问你,jdk在哪里的时候,你就把你刚刚解压缩后的位置告诉ide就可以了

    2022年7月9日
    28

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号