IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> Flask框架(三) -> 正文阅读

[开发测试]Flask框架(三)

Flask框架(三)- 路由基本定义

一.路由基本定义

# 指定访问视图函数demo1,访问路径为/demo1
@app.route('/demo1')
def demo1():
    return 'demo1'

二.给路由传参示例

有时我们需要将同一类 URL 映射到同一个视图函数处理,比如:使用同一个视图函数来显示不同用户的个人信息。

# 路由传递参数,整数
@app.route('/user/<int:user_id>')
def user_info(user_id):
    return 'the num is %d' % user_id

# 路由传递参数,字符串,不指定path默认就是字符串
@app.route('/user/<path:user_id>')
def user_info(user_id):
    return 'hello %s' % user_id

提示:之所以int,path可以接收整数,字符串,是由于werkzeug提供了IntegerConverter,PathConverter对应转换器.

三.指定请求方式

在 Flask 中,定义一个路由,默认的请求方式为:

  • GET
  • OPTIONS(自带)
  • HEAD(自带)
    如果想添加请求方试,那么可以使用methods指定,比如:
@app.route('/demo2', methods=['GET', 'POST'])
def demo2():
    # 直接从请求中取到请求方式并返回
    return request.method

四.使用PostMan对不同请求,进行测试

PostMan 是一款功能强大的网页调试与发送网页 HTTP 请求的 Chrome 插件,可以直接去对我们写出来的路由和视图函数进行调试,作为后端程序员是必须要知道的一个工具。

  • 安装方式1:去 Chrome 商店直接搜索 PostMan 扩展程序进行安装
  • 安装方式2:https://www.getpostman.com/ 官网下载桌面版
  • 安装方式3:将已下载好的 PostMan 插件文件夹拖入到浏览器
    打开 Chrome 的扩展程序页面,打开 开发者模式 选项
    在这里插入图片描述
    将插件文件夹拖入到浏览器(或者点击加载已解压的扩展程序选择文件夹)
  • 在 Mac 下生成桌面图标,可以点击启动
  • 在 ubuntu 旧版的 Chrome 浏览器中会显示以下效果,可以直接点击启动
    在这里插入图片描述
  • 使用 PostMan,打开之后,会弹出注册页面,选择下方的 Skip this,go straight to the app 进行程序
    在这里插入图片描述

视图函数, 返回响应,有三种方式

一.使用jsonify,生成json, 数据响应体

# 生成json数据响应体
@app.route('/demo4')
def demo4():
    json_dict = {
        "user_id": 10,
        "user_name": "laowang"
    }
    return jsonify(json_dict)

二.使用redirect,url_for,生成文本响应体

  • redirect重定向到 百度 官网
    格式: redirect(‘地址’);
    地址: 可以是外链地址, 可以是视图函数地址
# 重定向
@app.route('/demo5')
def demo5():
    return redirect('http://www.itheima.com')
  • url_for反解析:通过视图函数的名称,返回地址
    格式: url_for(‘视图函数名’,key=value)
    提示: url_for经常配合redirect使用,可以传递参数
@app.route('/demo1')
def demo1():
    return 'demo1'

# 重定向
@app.route('/demo5')
def demo5():
    return redirect(url_for('demo1'))
  • 重定向到视图函数,携带参数演示
# 路由传递参数
@app.route('/user/<int:user_id>')
def user_info(user_id):
    return 'hello %d' % user_id

# 重定向
@app.route('/demo5')
def demo5():
    # 使用 url_for 生成指定视图函数所对应的 url
    return redirect(url_for('user_info', user_id=100))

三.返回字符串, 自定义状态码,返回文本响应体

  • 在 Flask 中,可以很方便的返回自定义状态码,以实现不符合 http 协议的状态码,例如:status code: 666
@app.route('/demo6')
def demo6():
    return '状态码为666', 666
  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2022-04-24 09:45:10  更:2022-04-24 09:45:12 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 2:50:03-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码