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/166160.html原文链接:https://javaforall.net

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


相关推荐

  • JAVA 面向对象 类 对象 封装「建议收藏」

    JAVA 面向对象 类 对象 封装「建议收藏」面向对象概念面向对象其实是一种编程思想,通过它可以把生活中复杂的事情变得简单化,从原来的执行者变成了指挥者。面向对象是基于面向过程而言的。面向过程强调的是过程,比如:打开冰箱门2.把大象放进去3.关上冰箱门面向对象强调的是结果,比如:什么样的冰箱?什么样的大象?谁负责把大象装进去?而不是关注那个负责的人怎么把大象装冰箱里.衣服脏了,直接让女盆友去处理,等着穿干净的就可以了。你不关注中间的过程,只要找好对象就可以了~再比如.我们想吃一道菜,无需考虑是怎么传菜,怎么做菜的,只需点菜即

    2022年7月19日
    16
  • 如何利用计算机模拟分子生物学,分子生物学软件教学的经验浅谈.doc

    如何利用计算机模拟分子生物学,分子生物学软件教学的经验浅谈.doc分子生物学软件教学的经验浅谈分子生物学软件教学的经验浅谈摘要:分子生物学是生命科学和生物技术的基础学科,其教学尤其是实验教学得到了各个高等院校的普遍重视,但是对于应用性强的分子生物学软件的教学却长期以来受到忽视。笔者首次在厦门大学的夏季短学期中开设《分子生物学常用软件的应用》课程已有五余年,本文总结了分子生物学软件教学的经验,提出教学改进的建议,阐述了软件应用与实验设计的必要联系,为生物医学类学科…

    2022年7月11日
    22
  • 4.Swift教程翻译系列——Swift基本运算符[通俗易懂]

    4.Swift教程翻译系列——Swift基本运算符

    2022年1月23日
    47
  • Netty权威指南_ck2威望代码

    Netty权威指南_ck2威望代码学习《netty权威指南时》发现有的代码有误,我都更正了一下,可运行的代码可以访问我的github:https://github.com/wangdecheng/mycodes/tree/master/src/main/java/netty

    2022年9月27日
    2
  • 隐性域名转发html代码,你知道显性URL转发/隐性URL转发记录添加方式吗

    隐性域名转发html代码,你知道显性URL转发/隐性URL转发记录添加方式吗显性URL转发/隐性URL转发其实URL转发里面的两种转发方式,根据跳转后的是否改变域名来判断显性还是隐形。当然根据不同的需要,可以选择不同的转发方式。今天小编为大家介绍的是隐/显性URL转发记录添加方式。显性URL转发/隐性URL转发URL是统一资源定位符,对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指…

    2022年10月18日
    3
  • MFC界面库BCGControlBar的介绍

    MFC界面库BCGControlBar的介绍英文原文:http://www.bcgsoft.com/bcgcontrolbarpro.htmBCGControlBar是MFC的一个扩展库其英文全称是”BusinessComponentsGalleryControlBar”,它允许你去创建像完全自定义的像MicrosoftOffice2000/XP/2003/2007/2010/2013and VisualStudio的界

    2022年7月14日
    33

发表回复

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

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