zoukankan      html  css  js  c++  java
  • flask第十四篇——重定向

    我们都知道京东的url是www.jd.com,但是当你输入www.jingdong.com时候,你会发现地址自动跳转到了www.jd.com,这种技术手段就叫做重定向

        重定向分为永久重定向临时重定向

        像京东这种只要你输入www.jingdong.com就会跳转到另一个地址的情况就叫做永久重定向,也就是说京东不希望你再用这个地址了;而临时重定向则可能是判断你的登录状态,比如有一些网站你进入后会判断你是否登录,如果登录就跳转页面A,如果没登录就跳转页面B,这种就是临时重定向的情况(后面写项目的时候会用到,当然,讲的所有知识点都是为最后做项目做准备的)。

        我们先来看一下源代码,先导入import redirect包,然后Ctrl+b,进入源码:

    可以看到redirect方法传入三个参数,其中第二个参数code就是设置重定向类型的,302代表临时重定向301代表永久重定向,默认302。知道这些就够了。

    接着我们看一下重定向的例子,这是一个简单的登录验证,如果用户传递了name就说明登录了(name通过查询字符串方式传递),如果没有传name就跳转到登录页面:

    # coding: utf-8

    from flask import Flask, url_for, redirect
    import flask app = Flask(__name__)  # type: Flask
    app.debug = True

    # 根目录
    @app.route('/')
    def hello_world():    name = flask.request.args.get('name')
       if name:
           return u'您的用户名是:%s' % name
       else:
           # 跳转页面        return redirect(url_for('login'))

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

    if __name__ == '__main__':    app.run()

        我们到页面验证一下,你还记得什么是通过查询字符串的方式传参吗?还记得url_for的使用吗?这里就用到了这两个知识点哦~
        我们先进入127.0.0.1:5000以及看到地址自动变成了http://127.0.0.1:5000/login/也就是我们的重定向起作用了:

    再通过查询字符串的方式给name传参:127.0.0.1:5000/?name=meng:

    页面是我们模拟的登录后的页面。这就是一个简单的重定向啦~

    • 补充题外话

        回看一下我们的控制台:

    打印了上图内容,有没有觉得很眼熟?没错,这不就是我们整天说接口测试的接口吗!http请求方式是GET,参数是name。所以学flask开发,不知不觉你就会明白接口测试的真正含义啦~

    请关注公众号:自动化测试实战

  • 相关阅读:
    统计英文文章单词出现的频率
    验证码程序
    随机出题程序
    Toast提示和Menu菜单
    Failed to resolve:com.android.support:appcompat-v7第一次运行安卓程序报错
    Android stdio下载与安装教学
    简单的三级联动
    河北省科技创新平台涉众分析(交流讨论)
    项目目标文档
    系统利益相关者描述案例
  • 原文地址:https://www.cnblogs.com/captainmeng/p/8649106.html
Copyright © 2011-2022 走看看