muffin admin
1.0.0
Muffin-Admin ——Muffin 的扩展,实现管理界面
通过 Muffin-Rest 支持 Peewee ORM、Mongo、SQLAlchemy Core;
自动过滤和排序物品;
内容
特征
要求
安装
用法
验证
自定义操作
配置选项
错误追踪器
贡献
贡献者
执照
蟒蛇 >= 3.9
Muffin-Admin应使用 pip 安装:
pip 安装 muffin-admin
借助 SQLAlchemy 核心支持:
pip install muffin-admin[sqlalchemy]
有了 Peewee ORM 支持:
pip install muffin-admin[peewee]
初始化管理员:
from muffin_admin import Pluginadmin = 插件(**选项)
初始化管理处理程序(Peewee ORM 的示例):
从 muffin_admin 导入 PWAdminHandler @admin.route class UserResource(PWAdminHandler): """为用户模型创建管理资源。""" class Meta: """调整资源。""" # 管理资源模型的 Peewee 模型 = User # Filters 过滤器 = 'email' , 'created', 'is_active', 'role' # 调整序列化/反序列化模式 schema_meta = { 'load_only': ('password',), 'dump_only': ('创建',), } # 要显示的列 = 'id', 'email', 'is_active', 'role', 'created' # 自定义 Material-UI 图标 icon = 'People'
将管理员连接到 Muffin 应用程序:
admin.setup(应用程序,**选项)
使用admin.check_auth
装饰身份验证函数:
@admin.check_authasync def auth(request):"""假授权方法。仅检查请求中是否存在身份验证令牌。"""return request.headers.get('authorization')
注册一个函数来返回用户信息:
@admin.get_identityasync def ident(request):"""获取当前用户信息"""pk = request.headers.get('authorization')user = User.select().where(User.id == pk) .first()if user:return {"id": user.id, "fullName": user.email}
为标准的react-admin auth页面实现一个登录处理程序:
@admin.loginasync def login(request):"""登录用户。"""data = wait request.data()user = User.select().where(User.email == data['username'], User.password == data['password']).first()return ResponseJSON(user and user.id)
如需进一步参考,请检查存储库中的 https://github.com/klen/muffin-admin/tree/develop/examples <examples> 。
从 muffin_admin 导入 PWAdminHandler @admin.route class UserResource(PWAdminHandler): # ... @PWAdminHandler.action('users/disable', view='list') async def disable_users(self, request, resource=None): ids = request.query.getall('ids ') # ... @PWAdminHandler.action('users/{id}/admin', view='show') async def mark_admin(self, request, resource=None): # ...
姓名 | 默认值 | 描述 |
前缀 | "/admin" | 管理员的 HTTP URL 前缀 |
标题 | "Muffin Admin" | 管理员职称 |
main_js_url | "{prefix}/main.js" | 主 JS 文件的链接 |
自定义_js_url | "" | 自定义 JS 文件的链接 |
自定义 CSS 网址 | "" | 自定义 CSS 文件的链接 |
登录网址 | None | 自定义登录页面的 HTTP URL |
注销网址 | None | 自定义注销页面的 HTTP URL |
菜单排序 | True | 对菜单项进行排序 |
授权存储 | "localstorage" | 在哪里保存授权信息(localstorage|cookies) |
授权存储名称 | muffin_admin_auth | 用于身份验证信息的本地存储/Cookie 名称 |
应用程序栏链接 | [{'url': '/', 'icon': 'Home', 'title': 'Home'}] | 应用栏链接 |
突变模式 | "optimistic" | React-Admin编辑突变模式(悲观|乐观|可撤销) |
如果您有任何建议、错误报告或烦恼,请将其报告给问题跟踪器:https://github.com/klen/muffin-admin/issues
Muffin-Admin 的开发位于:https://github.com/klen/muffin-admin
克伦(基里尔·克列诺夫)
根据 MIT 许可证获得许可。