auto_sqlamin 基于sqladmin,通过动态配置类,无需写ORM代码,快速搭建一个简单的admin
# 1. 安装依赖包:
pip install fastapi
pip install sqlalchemy
pip install sqladmin
pip install alembic
pip install pytz
pip install aiosqlite
pip install itsdangerous
pip install python-jose
# 2. 启动服务:
python main.py
# 3. 访问测试:
http://127.0.0.1:8000/admin
用户:admin
密码:admin
# 4. 测试功能
1. 新建表
2. 新建类
3. 新建属性:(默认创建类时会自动创建id、name、create_date、update_date四个属性)
4. 新建(约束、索引、外键、关系)根据需要:
5. 执行编译
6. 执行迁移
7. 新建视图:完善参数设置
8. 权限控制:
1. 默认管理员可以看到所有内容
2. 普通用户可以通过绑定角色,并在视图设置中关联角色控制菜单权限
# 5. 说明:
1. 如何修改默认ORM,执行迁移: 通过设置alembic.env.dynamic_only属性控制迁移固定类还是动态类
2. 如何扩展动态类的视图设置:
from sqladmin import action
from starlette.responses import RedirectResponse
from apps.core.admin.base import CoreModelView
@DynamicModelView.extend_view
class DemoEntity:
"""扩展动态View"""
# 对应entity.name
__maps_to__ = "demo_entity"
@action(
name="demo_action",
label="示例Action",
confirmation_message="确认执行示例Action?",
add_in_detail=False,
add_in_list=True,
)
async def my_action(self, request):
return RedirectResponse(request.url_for("admin:list", identity=self.identity))
3. 对于已经删除的表,系统不会删除物理表,需要手动删除
# 6 存在问题:
1. 属性为bool类型的,默认值为True,新建时checked未生效
2. readonly对于关系和枚举类型不生效
3. sqlite仅适合测试,建议使用mysql
没有合适的资源?快使用搜索试试~ 我知道了~
基于fastapi sqladmin开发,实现可动态配置admin
共45个文件
py:37个
readme:1个
md:1个
0 下载量 3 浏览量
2024-05-11
14:33:38
上传
评论
收藏 55KB ZIP 举报
温馨提示
基于fastapi sqladmin开发,实现可动态配置admin
资源推荐
资源详情
资源评论
收起资源包目录
auto_sqladmin.zip (45个子文件)
auto_sqladmin
.env 403B
main.py 3KB
alembic.ini 3KB
alembic
README 58B
script.py.mako 635B
env.py 4KB
versions
a10a0179d57c_init.py 19KB
__pycache__
a10a0179d57c_init.cpython-310.pyc 9KB
.gitignore 141B
settings.py 3KB
README.md 2KB
apps
__init__.py 45B
core
enums.py 799B
compile
__init__.py 25B
column.py 6KB
load.py 4KB
constraint.py 3KB
relship.py 6KB
__init__.py 47B
middleware.py 255B
admin
__init__.py 354B
role.py 1KB
view_config.py 2KB
load.py 8KB
constraint.py 5KB
field.py 4KB
table.py 1KB
user.py 3KB
entity.py 9KB
auth.py 4KB
base.py 9KB
relship.py 2KB
dependencies.py 2KB
models
__init__.py 205B
role.py 3KB
view_config.py 9KB
constraint.py 9KB
field.py 4KB
table.py 2KB
user.py 2KB
entity.py 4KB
relship.py 4KB
tools.py 1KB
db.py 1KB
demo.db 152KB
共 45 条
- 1
资源评论
庞各庄学霸
- 粉丝: 36
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功