• 103. 重定向详解


    重定向

    重定向分为永久性重定向和暂时性重定向,在页面上的体现就是浏览器会从一个页面自动跳转到另外一个页面,比如用户访问了一个需要权限的页面,但是该用户当前并没有这种权限,二面就会自动跳转到能够赋予用户相应的权限的页面。

    (1)永久性重定向:http的状态码是301,多用于旧网址被废弃的要跳转到一个新的网址,确保用户的访问,比如用户访问了www.jingdong.com的时候,会被重定向到www.jd.com,因为jingdong.com 这个网址已经被废弃了,改为jd.com,这种就是永久性重定向。
    (2)暂时性重定向:http的状态码是302,表示页面的暂时性跳转。比如访问知乎的首页,访问zhihu.com,就会默认跳转到signup(注册)页面,只有登录或者是注册之后才会返回首页。这种重定向的方式就是暂时性的,登录过之后再次访问zhihu.com就可以正常访问首页了。

    在Django中,重定向的状态码为302,重定向使用redirect(to, *args, premanent=False, **kwargs)来实现的。to是一个url,permanent代表的是这个重定向是否是一个永久性的重定向,默认是False。关于重定向的使用。示例代码如下:

    from django.shortcuts import render, redirect, reverse
    from django.http import HttpResponse
    
    
    def index(request):
        # 如果没有在url中传递一个参数,就相当于没有注册或者是登录,就返回注册页面
        # 得到url中传递的参数,这种请求方式为GET请求
        username = request.GET.get('username')
        if username:
            return HttpResponse('index')
        else:
        # 将重定向的url名传入reverse()函数进行反转,就可以得到重定向的页面的url
            return redirect(reverse('signup'))
    
    
    def signup(request):
        return HttpResponse('signup')
    
    在book app中的urls.py文件中,示例代码如下
    from django.urls import path
    from . import views
    
    urlpatterns = [
        path('', views.index, name='index'),
        path('signup/', views.signup, name='signup'),
    ]
    
    在项目的urls.py文件中主url与子url的关系为:
    from django.urls import path, include
    
    urlpatterns = [
        path('book/', include('book.urls')),
    ]
    
    
    在浏览器中输入url:127.0.0.1:3000/book/, 就会重定向到127.0.0.1:3000/book/signup/,

    在这里插入图片描述

    详细的查看book/的信息,我们可以看到状态码为302,即输入url:127.0.0.1:3000/book/会暂时性重定向到127.0.0.1:3000/book/signup/。

    在这里插入图片描述

    需要注意的是:如果在浏览器中输入:127.0.0.1:3000/book,没有后面的“/”,就会出现301 moved permantly,即为永久性的重定向到127.0.0.1:3000/book/。

    在这里插入图片描述

    始于才华,忠于颜值;每件事情在成功之前,看起来都是天方夜谭。一无所有,就是无所不能。
  • 相关阅读:
    scikit-learn随机森林调参小结
    用Spark学习FP Tree算法和PrefixSpan算法
    典型关联分析(CCA)原理总结
    scikit-learn Adaboost类库使用小结
    Google maps API开发(二)(转)
    php中setcookie函数用法详解(转)
    关于中英数字混排的字符串分割问题(转)
    字符串截取函数
    jQuery Masonry构建pinterest网站布局注意要点(转)
    【jQuery插件】用jQuery Masonry快速构建一个pinterest网站布局(转)
  • 原文地址:https://www.cnblogs.com/guyan-2020/p/12288035.html
Copyright © 2020-2023  润新知