项目模板源码:
步骤如下:

安装poetry包管理工具

下载地址:https://download.csdn.net/download/weixin_36179862/12549043
为什么用的是这个,我也不知道…
pip3 install poetry

创建项目

  1. 执行poetry new 项目名创建项目文件夹
  2. 执行poetry install安装虚拟环境
  3. 执行poetry shell启动虚拟环境
  4. 搜索虚拟环境的python位置:which python
  5. 将pycharm的settings的python改为4里面python的地址
  6. 修改pyproject.toml里面的相关信息
    完成之后项目结构大概如下:
fastapiStudy
├── README.rst
├── fastapistudy
│   └── __init__.py
├── fastapistudy.egg-info
│   ├── PKG-INFO
│   ├── SOURCES.txt
│   ├── dependency_links.txt
│   └── top_level.txt
├── poetry.lock
├── pyproject.toml
└── tests
    ├── __init__.py
    └── test_fastapistudy.py

创建代码结构

在fastapistudy里面增加要执行的代码文件,先创建相关的空壳子(这里可以按照自己的习惯创建项目结构)
创建完毕之后如下:

.
├── Makefile #这是一个脚本,提供部分代码格式化、测试等功能,内容请参考之后的源码
├── README.rst
├── fastapistudy
│   ├── __init__.py
│   ├── apps # 要执行的代码
│   │   ├── __init__.py
│   │   ├── admin #这是admin后台管理的代码,结合plibs使用,plibs提供了基本的增删改查,这里提供管理员的额外操作
│   │   │   └── __init__.py
│   │   └── api # 方法
│   │       ├── __init__.py
│   │       └── router #路由,及路由下面绑定的函数
│   │           └── __init__.py
│   ├── common.py #公共包
│   ├── factory.py # 生成fastapi的文件
│   ├── main.py 
│   ├── models.py #存储所有的models
│   └── settings.py #保存需要的设置参数(注意,所有的参数存储在.env里面,这里直接用os.getenv()即可获取,不要把重要参数保存到代码里面
├── fastapistudy.egg-info
│   ├── PKG-INFO
│   ├── SOURCES.txt
│   ├── dependency_links.txt
│   └── top_level.txt
├── listeners.py # tortoise-orm的信号处理
├── poetry.lock #锁定包版本,不可手动改
├── pyproject.toml #配置文件,可以自己手动加
├── serializers.py # 序列化器,类似schema
└── tests
    ├── __init__.py
    └── test_fastapistudy.py

poetry介绍

在项目中使用

poetry init                                    在现有项目中使用来创建一个pyproject.toml文件
poetry new <项目名字>             使用poetry创建一个新项目

虚拟环境

poetry install  创建虚拟环境(确保当前目录存在pyproject.toml文件)
poetry shell    激活虚拟环境

包管理

poetry run python -V                                查看python版本
poetry add <以来name>                          添加包
poetry update                                            更新所有锁定版本的依赖
poetry update    <依赖name>                  更新某个指定的依赖
poetry remove   <依赖name>                  卸载包
poetry env use python3.7                       让poetry使用python3
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐