基于 fastapi 的一个快速开发框架,更简约的注解、链式构建 sql 语句
- fastapi
- websocket
- loguru
- sqlite
- mysql
- mysql 连接池
- 多数据源
- cache
- schedule
pip install py-seal
seal:
authorization:
jwt_key: py-seal
expire: 3600
excludes:
- /test/**
mysql:
host: 127.0.0.1
port: 3306
user: root
password: root
database: test
@post("/login/submit")
async def projects(param: UserLoginParam):
user = Query(User).eq("username", param.username).first()
if user is None or user.password != param.password:
raise BusinessException(message="用户名或密码错误!")
return generate_token(uid=user.id, username=user.username)
支持自定义和动态读取 model
@entity(table='user')
class User(BaseEntity):
id: int
username: str
@entity(table='role', dynamic=True)
class Role(BaseEntity):
...
mybatis plus 风格的链式构建 sql 语句
Query(User).eq("id", 1).first()
Query(table='user').eq("id", 1).first()
Query(table='user').list()
Update(User).set(status=1).eq("id", 1).update()
Update(User).eq("id", 1).delete()
GNU GENERAL PUBLIC LICENSE
https://www.tiangua.info/blog/2e16a83a-24eb-4472-bfa4-187430f84be1