# Flask-admin **Repository Path**: web-admin-mian/flask-admin ## Basic Information - **Project Name**: Flask-admin - **Description**: No description available - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-08-19 - **Last Updated**: 2024-11-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Python项目开发指南 ## 1. 项目概述及其原则 - 业务层服务端基础项目架构,基于Flask框架。 - 自动生成文档,无需手动编写其他注解。 - 业务层服务 - 测试用例 - 数据表 - 配置文件 - 路由 - 日志 - 定时任务 ## 2. 项目结构 ## 3. 环境与依赖管理 - 开发工具: > [PyCharm](https://www.jetbrains.com/zh-cn/pycharm/download/?section=windows) - **Python版本与虚拟环境** - 下载:[Anaconda](https://repo.anaconda.com/archive/) 2022.10.0,添加到系统环境变量中。 - 修改镜像源:[镜像源配置]() - 创建虚拟环境: ```bash conda create -n investoday python=3.11 ``` - 激活虚拟环境: ```bash activate investoday ``` - 下载包管理工具Poetry: ```bash pip install poetry ``` - 拉取代码: ```bash git clone http://192.168.14.111/investoday-open/pypi/investoday-common.git ``` - 安装依赖: ```bash cd investoday-common/ poetry install ``` - 启动服务 ```bash cd investoday-common/src/investoday/ python test_main.py ``` ## 4. 编码与规范 - **命名规范**: - 变量和函数名:小写字母,单词间用下划线分隔(如`my_variable`)。 - 类名:驼峰命名法(如`MyClass`)。 - 常量:全大写字母,单词间用下划线分隔(如`MAX_VALUE`)。 - 模块名:小写字母,单词间用下划线分隔(如`my_module`)。 - **文档与注释风格**: - 注释应详细描述功能、参数类型和返回值。示例: ```python from typing import Optional, List def my_function(param1: Optional[str], param2: Optional[str]) -> List[str]: """简单功能描述""" result = [param1, param2] return result ``` - **请求参数规范**: - 参数应注明类型和描述,以及`response_model`,以便自动文档生成。示例: ```python ``` - **响应体规范**: - 响应结果应使用`pydantic`模块的`BaseModel`类定义响应体结构,并用`Field`添加注释和描述。示例: ```python ``` - **异常处理**: - 统一抛出`BusinessException`,`code`为业务异常码(大驼峰),`message`为业务异常信息,例如: ```python ``` ## 5. 功能开发 - 模块化设计,每个功能一个模块, 确保高内聚、低耦合 - 模块间通过接口调用,不要直接调用内部方法 - 每个功能都应该有一个通用的接口作为基类,具体功能应该继承该基类,实现自己的功能。 - 基类应当继承 from abc import ABC, abstractmethod, 来封装接口。 ## 6. 测试策略 - 使用 pytest规范,测试用例 写在tests 目录下,使用 pytest 命令执行测试。 - 一个功能一个断言测试用例 - 一个接口一个断言测试用例 - 确保每次添加新功能时都有对应的断言测试用例,确保测试覆盖率达到100%。 ## 7. 文档编写 - 自动文档生成地址: `http://localhost:5000` ## 8. 版本控制与协作 - Git操作 > 遵守:[Git提交规范]() # 学习链接: - [Python3中文文档](https://docs.python.org/zh-cn/3/) - [菜鸟教程](https://www.runoob.com/python/python-tutorial.html) - [poetry依赖管理开发文档](https://python-poetry.org/docs/) - [fastapi文档](https://fastapi.tiangolo.com/zh/) - [flask文档](https://dormousehole.readthedocs.io/en/latest/)] - [pydantic文档](https://pydantic-docs.helpmanual.io/) - [pytest文档](https://docs.pytest.org/en/latest/) - [Django文档](https://docs.djangoproject.com/zh-hans/5.1/) - [flask-restx文档](https://flask-restx.readthedocs.io/en/latest/) - [restful api接口规范](https://restful.p2hp.com/home/resource-naming)