使用 Python 从 0 开发属于你的个人管理系统 02 篇| 这,就是 Flask 的请求交互操作
在上一篇中,我们从项目虚拟环境的搭建,到服务的启动都介绍了,并且咱们也建立了一个 py 文件,把 Flask 最基本的使用方式给玩了一下,请进入你的项目,把 fxxkpython.py 文件打开:
from flask import Flask app = Flask(__name__) @app.route('/') def hello(): return 'fxxkpython!!' @app.route('/abc') def abc(): return '<h1 style="background-color:#CCBBCC;">帅帅的abc</h1>
咱们接下来继续玩——Flask 常用的请求交互操作!
通往 Python 高手之路
接收客户端传来的参数
我们可以使用 <> 来接收 URL 传来的参数,比如你要接收客户端发来的 name,那么你在路由中就可以这样定义:
from flask import Flask app = Flask(__name__) @app.route('/<name>') def hello(name): return f'fxxk, {name}'
这时候用户在客户端请求的 URL 是这样的:
那么返回的结果就是:
fxxk, hansomeb
也就是说,当我们在路由中定义变量的时候,让 URL 以一定的规则进行请求,我们就可以得到相应的数据,这样就可以和前端做交互了。
默认情况下, Flask 获取的变量类型是 String,像我们刚刚的 name,实际上是<string:name> ,除了 string 类型,Flask 还可以接收以下的类型:
<int:xxx> 整数类型<float:xxx> 浮点类型
<path:xxx> 包含下划线的字符串路径类型
<uuid:xxx> UUID 类型
比如你定义这样的路由:
# 接收路径类型 @app.route('/<path:subpath>') def subpath(subpath): return f'得到路径:{subpath}'
那么当你在浏览器访问 http://127.0.0.1:5000/111/222/33/4 ,结果就是:
得到路径:111/222/33/4
类似的, UUID:
# 接收 UUID 类型 @app.route('/uuid/<uuid:my_uuid>') def uuid(my_uuid): return f'得到uuid:{my_uuid}'
那么当你在浏览器访问 http://127.0.0.1:5000/uuid/dee17400-8b02-11eb-8dcd-0242ac130003 ,结果就是:
得到uuid:dee17400-8b02-11eb-8dcd-0242ac130003
HTTP 的请求方法
HTTP 有多种请求方法,我们可以在路由中定义,什么方法接收什么样的请求,可以使用 methods 来指定,比如像一些表单的请求,我们需要指定 POST 请求,那么就可以像这样定义:
ok,本篇就介绍到这里,你赶紧试试吧,下一篇将会给你继续介绍,关于 Flask 的响应操作,比如如何写 API,重定向,404,会话等操作,我们下回见,peace!