README.md文件内容:
# flaskDemo 本接口项目的技术选型:Python+Flask+MySQL+Redis, 通过 Python+Flask 来开发接口 使用 MySQL 来存储用户信息 使用 Redis 用于存储token 目前为纯后端接口,暂无前端界面,可通过 Postman、Jmeter、Fiddler 等工具访问请求接口。 ## 项目部署 首先,下载项目源码后,在根目录下找到 requirements.txt 文件,然后通过 pip 工具安装 requirements.txt 依赖,执行命令: ``` pip3 install -r requirements.txt ``` 接着,将项目部署起来,在本项目中其实就是利用 Python 执行 app.py 文件,以下为我在Linux上的部署命令。 ``` # /root/flaskDemo/app.py表示项目根路径下的app.py启动入口文件路径 # /root/flaskDemo/flaskDemo.log表示输出的日志文件路径 nohup python3 /root/flaskDemo/app.py >/root/flaskDemo/flaskDemo.log 2>&1 & ``` ## 数据库设计 数据库建表语句如下: ``` CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(20) NOT NULL, `password` varchar(255) NOT NULL, `role` tinyint(1) NOT NULL, `sex` tinyint(1) DEFAULT NULL, `telephone` varchar(255) NOT NULL, `address` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `telephone` (`telephone`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; ``` user表中各字段对应含义如下: ``` id:用户id号,自增长 username:用户名 password:密码 role:用户角色,0表示管理员用户,1表示普通用户 sex:性别,0表示男性,1表示女性,允许为空 telephone:手机号 address:联系地址,允许为空 ``` ## 接口请求示例 - 获取所有用户接口请求示例(可直接在浏览器输入栏请求): ``` 请求方式:GET 请求地址:http://127.0.0.1:9999/users ``` - 获取wintest用户接口请求示例(可直接在浏览器输入栏请求): ``` 请求方式:GET 请求地址:http://127.0.0.1:9999/users/wintest ``` - 用户注册接口请求示例: ``` 请求方式:POST 请求地址:http://127.0.0.1:9999/register 请求头: Content-Type: application/json Body:{"username": "wintest5", "password": "123456", "sex": "1", "telephone":"13500010005", "address": "上海市黄浦区"} ``` - 用户登录接口请求示例: ``` 请求方式:POST 请求地址:http://127.0.0.1:9999/login 请求头: Content-Type: application/x-www-form-urlencoded Body:username=wintest&password=123456 ``` - 修改用户接口请求示例( token 可以从用户登录成功后的接口返回数据中获取): ``` 请求方式:PUT 请求地址:http://127.0.0.1:9999/update/user/3 请求头: Content-Type: application/json Body:{"admin_user": "wintest", "token": "f54f9d6ebba2c75d45ba00a8832cb593", "sex": "1", "address": "广州市天河区", "password": "12345678", "telephone": "13500010003"} ``` - 删除用户接口请求示例( token 可以从用户登录成功后的接口返回数据中获取):: ``` 请求方式:POST 请求地址:http://127.0.0.1:9999/delete/user/test 请求头: Content-Type: application/json Body:{"admin_user": "wintest", "token": "wintest1587830406"} ```
第一步:从Github网站下载flaskDemo源代码并导入Pycharm工具
备注:除了venv目录外,都是原始目
第二步:按照提示配置flaskDemo项目的虚拟环境venv
第三步:安装requirements.txt依赖文件
1、在项目根目录下找到 requirements.txt依赖文件,并通过pip3命令执行
CC:flaskDemo zhangchunyan$ pip3 install -r requirements.txt Collecting PyMySQL==0.9.3 Downloading PyMySQL-0.9.3-py2.py3-none-any.whl (47 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 47.7/47.7 kB 84.5 kB/s eta 0:00:00 Collecting Flask==1.0.3 Downloading Flask-1.0.3-py2.py3-none-any.whl (92 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 92.1/92.1 kB 17.1 kB/s eta 0:00:00 Collecting redis==3.4.1 Downloading redis-3.4.1-py2.py3-none-any.whl (71 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 71.1/71.1 kB 8.7 kB/s eta 0:00:00 Collecting itsdangerous>=0.24 Downloading itsdangerous-2.1.2-py3-none-any.whl (15 kB) Collecting Werkzeug>=0.14 Downloading Werkzeug-2.2.2-py3-none-any.whl (232 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 232.7/232.7 kB 17.6 kB/s eta 0:00:00 Collecting Jinja2>=2.10 Using cached Jinja2-3.1.2-py3-none-any.whl (133 kB) Collecting click>=5.1 Using cached click-8.1.3-py3-none-any.whl (96 kB) Collecting MarkupSafe>=2.0 Using cached MarkupSafe-2.1.1-cp310-cp310-macosx_10_9_x86_64.whl (13 kB) Installing collected packages: PyMySQL, redis, MarkupSafe, itsdangerous, click, Werkzeug, Jinja2, Flask Successfully installed Flask-1.0.3 Jinja2-3.1.2 MarkupSafe-2.1.1 PyMySQL-0.9.3 Werkzeug-2.2.2 click-8.1.3 itsdangerous-2.1.2 redis-3.4.1
2、查看当前依赖库,看看所需库是否正确安装(已经正确安装)
第四步:使用Docker技术安装组件
1、所需安装的组件为:
PyMySQL==0.9.3
Flask==1.0.3
redis==3.4.1
2、使用Docker安装Mysql
3、使用Docker安装Flask
4、使用Docker安装Redis
标签:kB,00,请求,17,whl,接口,Docker,flaskDemo From: https://www.cnblogs.com/xiaoyanguniang/p/16629376.html