初试啼声——新手入门Flask(第一个Web应用)一定需要的理解

0 阅读3分钟

前言

写作内容

我在学习Flask时,收集到的信息不是完整课程就是官方文档,不能符合我的初步、大致了解的需求,所以自己动手,丰衣足食。(部分内容出于知识的连贯性考虑建议有计算机网络基础再阅读)

正文

Flask的理解

Flask是用于写HTTP接口的众多语言中最常用的之一,最简单的Web应用几乎可以说只用写一个HTTP接口,所以有“用Flask写Web应用”的说法。

而真实情况下,Web应用前端负责与用户交互、发送请求,例如手机APP,浏览器网页,这部分与Flask无关;后端负责处理请求、数据存取,例如服务器,数据库,与Flask有关。可以说,后端=部署在服务器上的(HTTP接口+业务逻辑)+数据库,Flask写HTTP接口,与业务逻辑共同运行在服务器(软件)的环境中,该服务器软件又运行在服务器(物理主机或云主机)上。

Flask的具体语句

一个常规Flask程序共有三个结构:创建实例、设计接口、启动应用。

创建实例

app = Flask(__name__) 

通过一个固定结构创建HTTP服务对象。

设计接口

@app.route('/ping')
def ping():    
    return 'pong'

定义路由(只要路径,不用域名和端口): 对于访问这一路由的请求,执行下一函数。

需要注意的HTTP接口中的主力军是CRUD类接口,它们在接口处加上参数的限制,例如:

@app.route('/ping',methods=['GET'])
def ping():    
    return 'pong'

此时只对GET类请求做出响应。CRUD类接口几乎与HTTP请求一一对应,如:

  • READ——GET,用于获取和查询资源,请求参数包含在URL中。
  • CREATE——POST,用于提交表单等,优点在于数据在请求体内相对安全。
  • DELETE——DELETE,用于删除指定资源。

启动应用

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

确保只有在直接运行时才启动。

完成后测试Flask程序

方法一:在Windows中打开浏览器输入

127.0.0.1:5000/ping

浏览器会自动补全为完整请求,随后可以看到自己设置的响应。

方法二:在Linux中向命令行界面输入

curl 127.0.0.1:5000/ping

随后也可以看到自己设置的响应。

全过程俯瞰

  • 使用Flask写程序,主要是HTTP接口;
  • 使用curl或浏览器发出HTTP请求;
  • 服务器根据HTTP接口执行操作:从数据库获取、对数据进行修改等;
  • 返回HTTP响应:主要包括状态码和JSON代码,JSON代码可能返回数据(最简单),也可能返回业务数据(如果想看视频会返回类似对资格的评判,然后浏览器二次请求)。

结语

这篇写完后会沉寂一段时间,课内的压力逐渐增大了,电路与电子学和大学物理的巩固也拖延一段时间了,一同到来的是零一学院的课程和期中考试的压力,等我逐个击破后会学习简单的Docker和KV存储并更新总结。