Skip to content

Chise1/fast-tmp

Repository files navigation

PyPI Python package codecov Documentation Status GitHub

fast-tmp

演示方式: 通过docker拉镜像:

sudo docker run -p 8000:8000 chise123/fast-tmp-example:v1.0.1

然后访问http://127.0.0.1:8000/admin即可, 超级用户的账户密码为admin/123456 项目模板

概述

本项目主要是方便快速构建fastapi的后端开发环境,依赖于cookiecutter,并提供方便快捷的生成路由的方法。 主要使用的开发包:

  1. fastapi
  2. tortoise-orm
  3. cookiecutter

整个项目在开发过程中参考了django的一些实现方式,尽量做到简洁明了。

安装fast-tmp

使用pip

pip3 install fast-tmp

使用poetry

poetry add fast-tmp

项目指令

目前包含的操作指令有两个:

  1. 创建项目
  2. 创建超级用户

支持自定义指令并创建

创建项目

fast-tmp startproject

输入完所需的参数之后,就可以生成一个自己的项目。

创建超级用户

创建超级用户需要使用了fast-tmp自带的models, 首先,在项目.settings的TORTOISE_ORM里面配置fast-tmp的model

import os

TORTOISE_ORM = {
    'connections': {
        'default': {
            'engine': 'tortoise.backends.mysql',
            'credentials': {
                'host': os.getenv("DB_HOST"),
                'port': os.getenv("DB_PORT"),
                'user': os.getenv("DB_USER"),
                'password': os.getenv("DB_PASSWORD"),
                'database': os.getenv("DB_NAME"),
            }
        },
    },
    'apps': {
        'fast_tmp': {
            'models': ['fast_tmp.models', 'aerich.models'],  # 注册app.models
            'default_connection': 'default',
        }
    }
}

然后,只需要执行:

fast-tmp createsuperuser

自定义指令

在settings里面配置EXTRA_SCRIPT参数,就像配置django的参数一样,把脚本的相对导入路径写到这个字段列表里面,即可通过fast-tmp进行执行。

可以通过fast-tmp --help查看当前有哪些执行指令

功能

初始化项目之后,fast-tmp包里面有如下功能:

  1. 全局settings管理
  2. crud生成器

全局settings管理

这个主要功能就是在所有地方都是通过fast_tmp.conf.settings获取设置值或环境变量。

具体使用如下:

from fast_tmp.conf import settings

...

联系

欢迎各位pythoner到这里来沟通 qq群: 142289799 142289799