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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 网络编程之粘包问题

    什么是粘包粘包是一种现象这种现象只出现在TCP中而不会出现在UDP中(TCP和UDP都是传输层中的协议)粘包概念详解:当发送网络数据时,tcp协议会根据Nagle算法将时间间隔短,数据量小的多

    2022年3月29日
    49
  • Navicat Premium for Mac15激活码【2022最新】

    (Navicat Premium for Mac15激活码)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月31日
    358
  • 把html转成xpath可以解析的对象「建议收藏」

    把html转成xpath可以解析的对象「建议收藏」fromlxmlimportetreeresponse_detail=requests.get(src__url,headers=getHeaderObject()).content#使用xpathpage_source=etree.HTML(response_detail.decode(‘utf-8’))

    2022年9月8日
    0
  • 基于近邻的协同过滤算法

    基于近邻的协同过滤算法这节课我们来学习K近邻在推荐系统中的应用,你将完成本课程的第一个实战项目:基于KNN的电影推荐系统!为了使你能够顺利地完成实战内容,我们先了解一下推荐系统中的基础知识。基于近邻用户的协同过滤假定有一个场景:某个周日的下午,你感觉很无聊,然后从电脑上打开了一个视频网站,想看下最近有什么好看的电影。然而你发现网站上的热门电影基本都看过,其他的电影又太多,不知道该看什么。想使用搜索框去查一下,但是又不知道该搜什么关键词,这个时候你的内心很焦灼,总不能挨个去尝试吧,那时间成本也太大了…仔细想想还是有办法的,那

    2022年6月30日
    26
  • 匈牙利算法

    匈牙利算法

    2021年12月15日
    49
  • centos7安装nginx1.16.1

    centos7安装nginx1.16.1centos7安装nginx1.16.1一.安装依赖库二.安装四.测试五.配置1.配置nginx为web容器2.配置nginx为代理服务器一.安装依赖库这里使用yum安装,如果是刚安装好的centos7,没有配置yum的话,点击此处yum-yinstallgccyum-yinstallpcrepcre-develyum-yinstallzlibzlib-develyum-yinstallopensslopenssl-devel二.安装wget下载ngin

    2022年6月4日
    50

发表回复

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

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