muffin admin
1.0.0
Muffin-Admin - 관리 인터페이스를 구현하는 Muffin의 확장
Muffin-Rest를 통해 Peewee ORM, Mongo, SQLAlchemy Core 지원
항목에 대한 자동 필터링 및 정렬
내용물
특징
요구사항
설치
용법
입증
사용자 정의 작업
구성 옵션
버그 추적기
기여
기여자
특허
파이썬 >= 3.9
Muffin-Admin은 pip를 사용하여 설치해야 합니다.
pip 설치 머핀-관리자
SQLAlchemy Core 지원:
pip 설치 muffin-admin[sqlalchemy]
Peewee ORM 지원:
pip 설치 머핀-관리자[peewee]
관리자를 초기화합니다.
from muffin_admin import Pluginadmin = 플러그인(**옵션)
관리자 핸들러 초기화(Peewee ORM의 예):
muffin_admin에서 PWAdminHandler 가져오기 @admin.route class UserResource(PWAdminHandler): """사용자 모델에 대한 관리 리소스를 생성합니다.""" class Meta: """리소스를 조정합니다.""" # 관리자 리소스 모델에 대한 Peewee 모델 = 사용자 # 필터 필터 = 'email' , 'created', 'is_active', 'role' # 직렬화/역직렬화 스키마 조정schema_meta = { 'load_only': ('password',), 'dump_only': ('생성됨',), } # 표시할 열 열 = 'id', 'email', 'is_active', 'role', 'created' # Custom Material-UI 아이콘 아이콘 = '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}
표준 반응 관리자 인증 페이지에 대한 로그인 처리기를 구현합니다.
@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 및 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 비활성화_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 파일에 대한 링크 |
custom_js_url | "" | 사용자 정의 JS 파일에 대한 링크 |
custom_css_url | "" | 사용자 정의 CSS 파일에 대한 링크 |
로그인_URL | None | 사용자 정의 로그인 페이지의 HTTP URL |
로그아웃_URL | None | 사용자 정의 로그아웃 페이지의 HTTP URL |
메뉴_정렬 | True | 메뉴 항목 정렬 |
인증_저장 | "localstorage" | 인증 정보 보관 위치(localstorage|쿠키) |
auth_storage_name | muffin_admin_auth | 인증 정보를 위한 로컬 저장소/쿠키 이름 |
앱_바_링크 | [{'url': '/', 'icon': 'Home', 'title': 'Home'}] | 앱바 링크 |
돌연변이_모드 | "optimistic" | React-Admin 편집 돌연변이 모드 (비관적|낙관적|실행 취소 가능) |
제안 사항, 버그 보고서 또는 불편 사항이 있는 경우 https://github.com/klen/muffin-admin/issues의 문제 추적기에 보고해 주세요.
Muffin-Admin 개발은 https://github.com/klen/muffin-admin에서 이루어집니다.
클렌(Kirill Klenov)
MIT 라이센스에 따라 라이센스가 부여되었습니다.