# my-python-server **Repository Path**: hs-xhl/my-python-server ## Basic Information - **Project Name**: my-python-server - **Description**: 基于Flask开发的一个简单服务 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2022-12-14 - **Last Updated**: 2023-03-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 开发说明 ### 项目运行 #### 环境安装 > - [x] 必要 > - [ ] 可以替换 1. - [x] 安装 Python >= 3.9.1 2. - [x] 如果没有安装 pip, 可以[参考](#pip默认包) 3. - [x] 安装依赖数据库驱动器 [Pymysql](#pymysql默认包) 4. - [x] 安装核心依赖 [Flask](#flask默认包) 5. - [x] 安装Flask ORM依赖[Flask-SQLAlchemy](#flask-sqlalchemy默认包) 6. - [x] 安装Flask 其他插件[Flask-Migrate](#flask-migrate默认包) , [Flask-Script](#flask-script默认包) ### 运行 > 根据配置文件config.py 创建一个数据库 > ``` # 执行创建表脚本 python sql.py # 运行项目 python wsgi.py runserver ``` 点击 [app](http://127.0.0.1:5000) ### 项目结构 ```tree │ ├─blogApp --- App,提供应用创建核心方法 create_app │ __init__.py │ ├─logs --- 日志输出目录 │ │ ├─migrations --- 自动生成,数据库迁移脚本生成,一般不需要动 │ │ ├─models --- ORM(Object Relational Mapping) │ __init__.py │ ├─routes --- 路由模块,Blueprint蓝图分割应用 │ __init__.py │ ├─services --- 存放业务逻辑或者其他服务类功能 │ __init__.py │ ├─static --- 存放静态文件的目录 ├─templates --- 存放页面模板的目录 ├─tests --- 测试模块 │ config.test.py │ __init__.py │ ├─utils --- 工具类 │ __init__.py │ │ .gitignore --- git忽略目录文件 │ build_in.py --- 项目要依赖的python内置模块等 │ config.py --- 配置类 │ ext.py --- 项目要依赖的第三方模块等,本项目是Flask │ get-pip.py --- 执行 python get-pip.py 安装pip │ modules.txt --- 项目依赖包,用于卸载 │ Readme.md --- 项目说明文档 │ requirements.txt --- 项目依赖包,用于查看 │ sql.py --- sql初始化,包含创建表等 │ wsgi.py --- 应用入口,或者是 app.py, 或者是配置环境变量FLASK_APP=“自定义”,否则Flask-Migrate==4.0.0的 一些命令用不了等 ``` ### 第三方包管理 ``` # 查看已安装库 pip list # 生成 requirements.txt, 第三方包依赖 pip freeze > requirements.txt # 能够把所有的第三方模块的模块名称以及第三方模块的版本号等等信息保存在了这个 modules.txt文件中 pip freeze > modules.txt # 一次卸载所有python包(第三方库) pip uninstall -r modules.txt -y ``` #### Pip默认包 ``` # 安装 # https://bootstrap.pypa.io/get-pip.py python get-pip.py ``` ``` # 默认包 3个 * pip-22.3.1 setuptools-65.6.3 wheel-0.38.4 ``` #### Pymysql默认包 ``` # 安装 pip install pymsql ``` ``` # 默认包 1个 * pymysql-1.0.2 ``` #### Flask默认包 ``` # 安装 pip install flask ``` ``` # 默认包 9个 click-8.1.3 colorama-0.4.6 * Flask-2.2.2 importlib-metadata-5.1.0 itsdangerous-2.1.2 Jinja2-3.1.2 MarkupSafe-2.1.1 Werkzeug-2.2.2 zipp-3.11.0 ``` #### Flask-SQLAlchemy默认包 ``` # 安装 pip install flask-sqlalchemy ``` ``` # 默认包 6个 * Flask-SQLAlchemy-3.0.2 Mako-1.2.4 SQLAlchemy-1.4.44 alembic-1.8.1 flask-migrate-4.0.0 greenlet-2.0.1 ``` #### Flask-Migrate默认包 ``` # 安装 pip install flask-migrate # 常用命令 flask db history #查看历史迁移信息 flask db current #查看当前数据库版本 flask db init #初始化数据库 flask db migrate -m "init_database" #数据库迁移 flask db upgrade #更新数据库至最新版本 flask db upgrade revision_id #更新数据库至某一版本revision_id flask db downgrade #回退一个版本 flask db downgrade revision_id #回退至某一版本revision_id # 三部曲 flask db init #初始化数据库,【只需要执行一次】 flask db migrate -m "init_database" #数据库迁移 flask db upgrade #更新数据库至最新版本 ``` ``` # 默认包 1个 * Flask-Migrate-4.0.0 ``` #### Flask-Script默认包 ``` # 安装 pip install flask_script ``` ``` # 默认包 1个 * flask_script-2.0.6 ```