flask教程
第一课
0)下载python 配置环境变量
1)打开某文件夹,创建新文件夹,进入该新建文件夹
2)从该处打开pycharm(事先下载,社区版即可)
3)setting interpreter 选择指定解释器
4)ctrl+f12 打开控制台
4+) 如果不是从该新建文件夹进的pycharm 需要cd切换到目标路径
5)看一下是否是想要的解释器版本
python --version
6)如果不是 比如我想改为用指定路径的解释器 需要指定该解释器路径 例如如
d:\python38\python --version
7)创建虚拟环境
d:\python38\python -m venv .env
8)进入虚拟环境
.env\Scripts\activate
8+) 可以检查一下虚拟环境的解释器版本是不是你想要的
python --version
9)安装flask
pip install flask
10)新建app.py文件
11)写入以下内容 以post请求为例 写在根节点
from flask import Flask, request, jsonify
app = Flask(__name__)
@app.route('/', methods=['POST'])
def main():
input = request.get_json()
return jsonify(input)
if __name__ == "__main__":
app.run(host="0.0.0.0", debug=True) # 默认port 5000
12 ) 在控制台运行这个url
py app.py
15 ) 在控制台点+号或者按ctrl+shift+t 新建控制台页面
16)进入虚拟环境
.env\Scripts\activate
17) 安装request 用于发送请求
pip install requests
18 ) 新建post.py文件
19 ) 写入以下内容
import requests
def post(input=None, url=None):
input = input if input else str(input)
url = str(url) if url else "http://localhost:5000"
response = requests.post(url, json=input) # dict, json_string, list, tuple
try:
result = response.json()
return result
except requests.exceptions.RequestException:
response.raise_for_status()
raise Exception(response.text)
if __name__ == "__main__":
result = post()
print(result)
20 ) 在控制台运行 py post.py 就完成了一次请求测试
21 ) 如果是get请求 可以直接在浏览器地址栏上进行测试 此处略
22 ) 可以直接关闭pycharm 也可以先去app.py所在的控制台按ctrl+c关掉它 再关闭pycharm
23 ) 知识点:
jsonify函数 将input生成为response对象 供post函数解析
可以用request.method方法获取请求类型
建议每个函数都去查一下其参数、结果、方法、属性,再去使用哈
第二课
0) 每次重新打开项目 都需要进入虚拟环境
.env\Scripts\activate
1 ) 我想要对app.py增加一个处理函数 将input转为其他结果
在 Python 中,使用 requests.post()
函数发送 POST 请求时,你可以通过 json
参数传递多种类型的数据。这个参数允许你将数据以 JSON 格式提交给服务器。以下是一些常见的用法:
- 字典类型数据:你可以直接传递一个 Python 字典作为
json
参数。例如:
import requests
import json
url = "http://example.com/api"
payload = {"key1": "value1", "key2": "value2"}
response = requests.post(url, json=payload)
- JSON 字符串:如果你已经有一个 JSON 格式的字符串,你可以将它传递给
json
参数。例如:
import requests
import json
url = "http://example.com/api"
json_string = '{"key1": "value1", "key2": "value2"}'
response = requests.post(url, json=json.loads(json_string))
- 其他可序列化为 JSON 的数据类型:除了字典和字符串,你还可以传递其他可序列化为 JSON 的数据类型,1. 例如列表、元组等。
- 总之,json 参数让你方便地将数据以 JSON 格式发送给服务器,无需手动设置请求头或编码数据。¹1 ²2 ³3 ⁴4
- 源: 与必应的对话, 2024/4/28
- (1) Python 中request以json形式发送post请求 - 知乎 - 知乎专栏. https://zhuanlan.zhihu.com/p/109486247.
- (2) Python requests.post方法中data与json参数区别详解 - 腾讯云. https://cloud.tencent.com/developer/article/1738491.
- (3) (Python)requests模块post请求发送json类型数据的两种方式. https://blog.csdn.net/qq_40272386/article/details/105658398.
- (4) 深入理解POST请求的三种参数:params、data和json-百度开发者中心. https://developer.baidu.com/article/details/2857777.
- (5) Python接口自动化-requests模块之post请求 - 知乎 - 知乎专栏. https://zhuanlan.zhihu.com/p/140372568.
- (6) undefined. http://jinbao.pinduoduo.com/network/api/common/goodsList.