Python Flask网站开发
时间:2022-08-30 15:12:01 | 来源:网站运营
时间:2022-08-30 15:12:01 来源:网站运营
学习如逆水行舟,不进则退,从2016年开始兜兜转转,2021年我又开始自学python网站开发了,毕竟python是最简单的编程语言,加上最近一年一直从事人工智能、机器学习领域,所以很想构建自己的python技术栈,这样自己既会网络安全业务理论,又会开发实战经验,满分~
曾经有一个人问我要不要创业,做web应用防火墙(WAF),说可以投资我,我因为没有一帮好朋友共同创业,而放弃了,毕竟现在小公司很难生存,加上没人愿意和你一起拼,而后就不了了之了,毕竟大家都要生活嘛,苦涩~
1、初始化
首先是安装 flask ,一行命令搞定~
然后是初始化,创建一个应用实例,客户端的所有请求,都是这个对象处理~
2、路由和视图函数
这个对象要知道对每个URL请求,需要调用什么样的处理函数,所以保存了一个URL到python函数的映射关系,称之为路由,路由函数就是视图函数,这个函数返回值叫做响应~
路由URL中放在尖括号的内容就是动态部分,任何能匹配静态部分的URL都会映射到这个路由上~
3、第一个web应用
先来一个最简单的hello world
3、2行代码就搞定了,你会发现python开发网站很有趣,这个叫动态路由
4、调试模式
非常有意思的是调试模式,可以在你修改代码的时候,自动重启web服务器~
5、请求-响应
Flask在分派请求之前激活应用和请求上下文,请求处理完成后再将其删除~
变量名 | 上下文 | 说明 |
---|
current_app | 应用上下文 | 当前应用的应用实例 |
g | 应用上下文 | 处理请求时临时存储的对象 |
request | 请求上下文 | 请求对象 |
session | 请求上下文 | 用户会话 |
Flask请求对象
属性或方法 | 说明 |
---|
form | 一个字典,存储请求提交的所有表单字段 |
args | 一个字典,存储URL传递的所有参数 |
values | 一个字典,form和args的集合 |
cookies | 一个字典,存储请求的所有cookie |
headers | 一个字典,存储请求的所有首部 |
files | 一个字典,存储请求上传的所有文件 |
get_data() | 返回请求主体缓冲的数据 |
get_json() | 一个字典,包含解析请求主体后得到的Json |
method | HTTP请求方法 |
... | ... |
Flask请求钩子
在请求钩子函数和视图函数之间共享数据,一般通过上下文全局变量g
装饰器 | 说明 |
---|
before_request | 在每次请求之前运行 |
before_first_request | 只在处理第一个请求之前运行 |
after_request | 如果没有未处理的异常抛出,在每次请求之后运行 |
teardown_request | 即使有未处理的异常抛出,在每次请求之后运行 |
Flask响应对象
属性或方法 | 说明 |
---|
status_code | HTTP响应状态码 |
headers | 一个类似字典的对象,包含随响应发送的首部 |
set_cookie() | 为响应添加一个cookie |
delete_cookie() | 删除一个cookie |
content_length | 响应主体的长度 |
content_type | 响应主体的媒体类型 |
set_data() | 使用字符串设置响应 |
get_data() | 获取响应主体 |
本篇完,谢谢大家~