Flask是一个使用 Python 编写的轻量级 Web 应用框架,简介灵活,可快速构建开发框架。
协作流程示例
bash
客户端请求 → Web服务器(Nginx) → WSGI服务器(Gunicorn/uWSGI)
↓
WSGI协议传递请求数据(environ/start_response)
↓
Flask应用对象处理请求 → 调用视图函数生成响应
↓
WSGI服务器返回响应 → 客户端:ml-citation{ref="2,6" data="citationList"}
第一个flask服务器案例
安装:执行终端命令 pip install flask
bash
pip install flask
执行结果
创建一个flask项目
css
import flask
# 创建一个flask对象(是一个web服务器程序)
app = flask.Flask(__name__)
# 路由设置,一般斜杠都是默认访问的是首页,一般定位到index功能页面
@app.route('/')
def index():
# 业务逻辑处理
html = '''
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>flask</title>
</head>
<body>
<h1>hello world</h1>
<a href="chinese">中文</a>
<a href="https://www.baidu.com">百度</a>
</body>
</html>
'''
return html
# 处理中文路由问题
@app.route('/chinese')
def chinese():
# 业务逻辑处理
html = '''
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>flask</title>
</head>
<body>
<h1>hello world</h1>
<a href="/">英文</a>
<a href="https://www.baidu.com">百度</a>
</body>
</html>
'''
return html
if __name__ == '__main__':
app.run(debug=True)
启动项目
启动后页面如下
点击中文
点击百度
flask服务端的请求方式
最常见的请求方式是get请求,本质上是获取信息的意思,例如,打开百度搜索python,get请求的请求参数是会在地址栏中直接显示明文的
flask演示get请求的发送方式
不传送数据
创建一个flask请求
css
import flask
app = flask.Flask(__name__)
@app.route('/')
def login():
# 获取浏览器端get请求发送过来的数据,get请求的特点是可以在浏览器地址栏中显示数据,
# 是明文显示方式,也意味着这种访问方式是不安全的
user = flask.request.values.get('user','')
sex = flask.request.values.get('sex','')
return f'您发送的数据为:{user = }, {sex = }'
if __name__ == '__main__':
app.run(debug=True)

css
http://127.0.0.1:5000/

传送数据
css
http://127.0.0.1:5000/?user=%E5%BC%A0%E9%A3%9E&sex=%E5%A5%B3
