6.重定向

文章目录

  • 1.重定向
    • 1.1 什么是重定向?
    • 1.2 为什么要有重定向?
    • 1.3 如何使用重定向?
      • 1.3.1 暂时性重定向(代码实例):
      • 1.3.2 永久性重定向(代码实例)

1.重定向

1.1 什么是重定向?

重定向,顾名思义,就是重新定向到一个新的位置,比如我们在浏览器的页面自动跳转到了另一个页面,又比如访问了一个页面,然后观察网址之后并不是我们输入的网址,这个过程就是重定向完成的。

1.2 为什么要有重定向?

http状态码 应用场景 优势
暂时性重定向 302 访问一些需要权限的页面,会自动重定向到权限认证的页面 重定向在设计上会提升用户体验
永久性重定向 301 废弃原有的网址被访问,会自动重定向到新的网址确保用户访问成功 重定向在设计上会提升用户体验,有利于搜索引擎优化

例1:访问淘宝的时候,你选择了已经购买的商品,但是你并没有登录过淘宝,那么这个时候如果只是提示 “请登录再访问!”,那么相信这种设计是留不住用户的,不如直接为用户重定向到登录页面。

例2:比如想废弃原本的网址,那么用户并不知道这个事情,所以用户还是会访问原来的网址,那么就会内部做一个重定向到新启用的网址,重定向的过程会有状态码的返回,搜索引擎捕捉到重定向的代码,有利于搜索引擎优化。

关键词:重定向在设计上会提升用户体验 ,有利于搜索引擎优化

1.3 如何使用重定向?

首先从flask模块中把导入redirect

from flask import Flask,redirect

1.3.1 暂时性重定向(代码实例):

from flask import Flask,redirect

@app.route('/user_info/')
def user_info():
    name = request.args.get('name')
    pwd = request.args.get('pwd')
    if name=='mark' and pwd == '123':
        return '{}的信息'.format(name)
    return redirect('/login/')  # 可以换成 return redirect(url_for('login'))


@app.route('/login/')
def login():
    return '这是登录页面'

没有通过权限验证的情况
6.重定向_第1张图片
6.重定向_第2张图片
通过权限验证的情况
6.重定向_第3张图片
关键词:暂时性重定向return redirect(‘/login/’) 即可实现重定向

1.3.2 永久性重定向(代码实例)

from flask import Flask,redirect

@app.route('/user_info/')
def user_info():
    name = request.args.get('name')
    pwd = request.args.get('pwd')
    if name=='mark' and pwd == '123':
        return '{}的信息'.format(name)
   return redirect('/login/', code=301)  # 会返回301状态码给浏览器 


@app.route('/login/')
def login():
    return '这是登录页面'

关键词:永久性重定向只给redirect(‘/login/’, code=301)多加了个code=301参数

你可能感兴趣的:(Flask,flask,python,后端)