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': ('created',), } # 要顯示的欄位 = '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 許可證獲得許可。