演示方式: 通过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
,并提供方便快捷的生成路由的方法。
主要使用的开发包:
- fastapi
- tortoise-orm
- cookiecutter
整个项目在开发过程中参考了django的一些实现方式,尽量做到简洁明了。
使用pip
pip3 install fast-tmp
使用poetry
poetry add fast-tmp
目前包含的操作指令有两个:
- 创建项目
- 创建超级用户
支持自定义指令并创建
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包里面有如下功能:
- 全局settings管理
- crud生成器
这个主要功能就是在所有地方都是通过fast_tmp.conf.settings
获取设置值或环境变量。
具体使用如下:
from fast_tmp.conf import settings
...