优秀的编程知识分享平台

网站首页 > 技术文章 正文

Python Flask网站开发(flask开发的网站)

nanyue 2024-10-15 11:33:48 技术文章 5 ℃

学习如逆水行舟,不进则退,从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()

获取响应主体

本篇完,谢谢大家~

发布于 2021-01-10 15:40 (知乎)

最近发表
标签列表