# 约个球(flask) **Repository Path**: zjdobhap/yueball-flask ## Basic Information - **Project Name**: 约个球(flask) - **Description**: 一个简单的约球系统,通过调用高德地图api,实现本地化约球服务,用户可以查看附近约球信息并进行预约,也可以自己发约球帖召唤伙伴一起打球 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-08-28 - **Last Updated**: 2023-02-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: Flask, Rest-api, 高德地图API ## README ## 简介 一个简单的约球系统,通过调用高德地图api,实现本地化约球服务,用户可以查看附近约球信息并进行预约,也可以自己发约球帖召唤伙伴一起打球 ## UI图: ![输入图片说明](libs/%E7%BA%A6%E4%B8%AA%E7%90%83%E7%BD%91%E7%AB%99UI%E5%9B%BE.png) 命令行启动服务:python manage.py runserver -d -h 0.0.0.0 -p 8000 数据版本变更步骤: 初始化版本变更目录 1、python manage.py db init 生成版本记录 2、python manage.py db migrate 生效到数据库 3、 python manage.py db upgrade 回滚 4、python manage.py db downgrade 版本问题:flask==1.1.4 MarkupSafe==2.0.1 flask_migrate==2.7.0 主要应用: 1、web开发,网址 2、工具平台,云计算开发 web服务器:nginx静态服务器,展示静态页面,nginx主要做反向代理 后端api开发: 前端是用户看到的页面(html、css、js) 后端是业务逻辑 flask 如何动态生成html?如何接收http请求、解析http请求、发送http响应? 这些tcp连接、http原始请求和响应应该由专门的服务器软件实现,我门只要关心业务逻辑 需要统一的接口规则,去让python应用的web服务器与python编写的web业务之间做一个统一 这个接口是就:WSGI(python web server gateway interface),是python语言定义的web服务器应用程序或框架之间一种简单而通用的接口规范 专门的wsgi服务器,python web服务器——gunicorn,uwsgi gunicorn ——配置简单 uwsgi ——配置复杂点 flask 基于werkzeug和jinja开发的模板库 负责业务逻辑的处理 jinja展示页面 web开发模式 1、mvc设计模式 模型(model):数据保存 视图(view):用户界面展示 控制器(controller):业务逻辑处理 2、前后端分离 主要是提高效率 flask vs django 轻量级(需要什么装什么) 重(有很多东西都以及集成好,不管你需不需要) 自由、灵活、扩展性强 不灵活 适合web服务api开发 api授权 如果别的程序需要调用你写的api——》程序 http协议——》无状态 会话保持,session服务端,cookie客户端 token验证 token包含一个只有服务器端知道的密码字符串进行加密之后的密文 测试上线步骤: 1、配置好pycharm 将本地代码upload到linux服务器 #使用windows本地的虚拟环境pip生成requirements.txt文本 #pip freeze > requirements.txt 2、在linux上创建pip虚拟环境,进入pip虚拟环境 3、使用linux上pip虚拟环境根据 requirements.txt来安装相应模块库 pip install -r requirements.txt 如果需要版本号不对,就删除对应模块库的行 4、安装好库环境之后,使用gunicorn运行服务 nohup gunicorn -w 4 -b 0.0.0.0:8000 manage:app --access-logfile=./access.log & restful:representational state transfer 一种api的设计风格,大家约定俗成的 网络请求---资源 请求资源,通过不同的http动作,来达到资源的状态转移 url的设计---不建议url里面携带动词,一个url对应一类资源 /v1/user ---GET 查询 所有 ---POST 新增 /v1/user/ ---PUT 修改 ---DLETE 删除 ---GET 查询某一个