Python基础 - 3.项目需求与开发

项目需求

一.从零创建baoaiback项目

1.创建虚拟环境venv

2.导入依赖库requirements.txt

3.Git项目版本库初始化

4.配置文件

  1. .gitignore

  2. config.py

  3. logging_config.py

5.创建主控文件manage.py和www_manage.py

6.创建Restful应用目录 app

7.创建WWW应用目录 www

8.设置项目目录结构:

在这里插入图片描述

9.flask_restplus和flask_restplus_patched需要从https://gitee.com/yuanbaonet/baoaiback中复制。

10.app应用中包含:

在这里插入图片描述

11.www应用中包含:

在这里插入图片描述

二. 通用类开发

1.目录:app/common

2.状态类Status, 文件status.py ,包括成功和失败两种状态,每个状态包含状态码和状态信息两个属性。

  1. 如成功状态调用方法Status.SUCCESS.status Status.SUCCESS.message

  2. 失败状态调用方法:Status.ERROR.status Status.ERROR.message

  3. SUCCESS 属性 status 值 200000,message 值 Success

  4. ERROR 属性 status 值 200400,message 值 Error

3.响应结果类 Result,文件 result.py,包括成功和失败两种返回结果。

{

     "status": status,

     "message": message,

     "data": data

    }

4.静态方法 success() 和 error(), status和message默认来自Status

三. 项目版本信息

  1. app和www应用中设置__version__及__description__

  2. python manage.py baoai 或 python www_manage.py baoai显示版本信息

四. app应用模块化开发架构:

  1. 目录结构:app应用功能模块目录:app/modules , 自定义功能模块加入该目录中。

  2. 模块执行流程:manage.py => app.create_app => app.modules.init_app =>
    app.modules.admin.init_app + app.modules.profiles.init_app

  3. 案例 :

    1. 增加两个功能模块(目录需带有__init__.py),账号模块
      admin和账号概要信息模块profiles

    2. admin模块__init__.py 定义init_app函数,函数内容: print(“admin init”)

    3. profiles模块__init__.py 定义init_app函数,函数内容: print(“profiles
      init”)

    4. modules 模块init_app自动查找该模块的所有子模块(admin, profiles),
      并执行每个模块中的init_app函数

    5. app模块定义create_app函数, 并调用子模块modules的init_app函数。

    6. 项目主运行文件manage.py 调用app模块的create_app函数

五. www应用模块化开发架构:

  1. 目录结构:www应用功能模块目录:www/modules , 自定义功能模块加入该目录中。

  2. 模块执行流程:www_manage.py => www.create_app => www.modules.init_app =>
    www.modules.main.init_app + app.modules.about.init_app

  3. 案例 :

    1. 增加两个功能模块(目录需带有__init__.py),首页模块 main和关于模块about

    2. main模块__init__.py 定义init_app函数,函数内容: print(“main init”)

    3. about模块__init__.py 定义init_app函数,函数内容: print(“about init”)

    4. modules 模块init_app自动查找该模块的所有子模块(main, about),
      并执行每个模块中的init_app函数

    5. www模块定义create_app函数, 并调用子模块modules的init_app函数。

    6. 项目主运行文件www_manage.py 调用www模块的create_app函数

项目开发工具

Visual Studio Code

下载插件

  • Chinese (Simplified) Language Pack for Visual Studio Code\ :中文语言包

  • jshint\ :js语法检验

  • git history\:git 日志管理

  • Python\:语法检查, 调试 (包含远程调试), 智能感知, Jupyter Notebooks, 代码格式化, 代码重构, 单元测试, 代码片段等。

code默认已经支持HTML5、CSS和JS 语法检查, 调试 (包含远程调试), 智能感,
, 代码重构, 单元测试, 代码片段等。

项目实战

完成项目需求(一)

创建BaoAI Back 后端项目

例:创建项目目录:

/baoai/baoaiback/

将baoaiback做为项目目录。

虚拟环境创建

# 1. 创建虚拟环境

# windows, 假设项目根路径:d:/baoai/baoaiback/

cd d:/baoai/baoaiback

mkdir venv

cd venv

python -m venv .

# 运行虚拟环境

d:/baoai/baoaiback/venv/Scripts/activate.bat

cd d:/baoai/baoaiback

# linux, 假设项目根路径:/baoai/baoaiback/

cd /baoai/baoaiback

mkdir venv

cd venv

python -m venv .

# 运行虚拟环境

source /baoai/baoaiback/venv/bin/activate

cd /baoai/baoaiback

下载requirements.txt

https://gitee.com/yuanbaonet/baoaiback/blob/master/requirements.txt

# 安装依赖库(必须处于虚拟环境)

安装依赖库国内常用镜像

https://pypi.tuna.tsinghua.edu.cn/simple/ \# 清华大学

https://mirrors.aliyun.com/pypi/simple/ \# 阿里云

https://pypi.douban.com/simple/ \# 豆瓣

https://pypi.mirrors.ustc.edu.cn/simple/ \# 中国科学技术大学

https://pypi.hustunique.com/ \# 华中科技大学

# windows 安装依赖库

python -m pip install --upgrade pip

pip install -r requirements.txt

# 如果下载速度慢可以采用国内镜像(推荐)

python -m pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt

Git版本管理:项目初始化

Git 初始化

新增
.gitignore,从https://gitee.com/yuanbaonet/baoaiback中.gitignore内容复制过来。

https://gitee.com/yuanbaonet/baoaiback/blob/master/.gitignore

新建项目目录结构及文件

按需求设置项目目录及文件。从https://gitee.com/yuanbaonet/baoaiback中复制flask_restplus和flask_restplus_patched依赖库。

app和www目录及所有子目录都需增加__init__.py文件,目的使app和www由项目应用目录变成模块

提交项目文件至git版本库

全部提交文件至git版本库,同时标记版本:baoai_python_v3

本章项目源码

URL:https://gitee.com/yuanbaonet/master_python/tree/baoai_python_v3/

对应版本:baoai_python_v3

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值