Flask与Flask RESTful

一、什么是Flask
  • Flask是一个python微型Web框架
二、RESTful设计理念
1、表现层
  • 把“资源”具体呈现出来的形式,叫做“表现层”
  • 表现层的形式比如有html格式的,Json格式的等等
2、状态转移(state transfer)
  • HTTP协议是一个无状态的协议
  • 请求方式:GET、POST、PUT、DELETE
  • 一个简单的RESTful请求
3、REST架构设计的6个原则
  • 统一的接口
  • 无状态
  • 可缓存的
  • 前后端分离
  • 分层系统
  • 按需编码
三、第一个Flask程序
1、hello world
当我们启动后,访问127.0.0.1:5000就可以看到返回的Hello World字符串

2、debug模式
将上面的代码改写一下,我们人为制造一个错误。
这里我们让整形和字符串相加,同时开启debug=True

可以看到,访问页面报错了错误信息。
Image.png
同时,我们可以通过这个页面打印出当前程序中的变量。
Image [2].png
需要注意的时候,当我们启动网页中的python shell的时候,会需要输入一个Debugger pin code
这个可以在控制台看到
Image [3].png
3、修改路由
原来的需求是访问/目录可以看到Hello World,现在我们访问/index目录返回Hello World
4、从路径中取出参数
  • 在路由中使用<>定义传入的参数
  • 在定义的函数内传入参数并使用

Image [4].png

5、定义HTTP方法
这里在定义路由的时候,通过methods限定方法

可以看到通过POST请求,这里我用的浏览器插件

Image [5].png

也可以使用curl直接进行请求

四、第一个Flask RESTful程序
1、安装flask-restful
2、Flask RESTful风格的Hello World
如果使用flask-restful定义视图的时候,必须继承flask_restful.Resource类,然后再根据http请求的method来定义相应的方法。
Image [6].png
3、一个简易的TodoList

Image [7].png

 

4、引入ORM数据模型
  • 什么是ORM?全称Object Relational Mapping,中文叫做对象关系映射,通过ORM我们可以通过类的方式操作数据库。
    • 数据库中的表(table)–>类(class)
    • 记录(行数据) –> 对象(Object)
    • 字段(field)–>对象属性(attribute)
  • 这里将用一个具体的例子说明
在上面todolist的基础上,我们增加一些东西
Image [8].png