管理员信息管理
在系统管理中我们需要完成管理员表的增删改查,这时候我们可以借助于视图集中的ModelViewset来完成相应的操作
获取管理员用户列表数据
接口分析
请求方式: GET /meiduo_admin/permission/admins/
# --------管理员路由--------
router = DefaultRouter()
router.register('permission/admins', admin.AdminView, base_name='admin')
print(router.urls)
urlpatterns += router.urls
请求参数: 通过请求头传递jwt token数据。
返回数据: JSON
{
"id": "用户id",
"username": "用户名",
"email": "邮箱",
"mobile": "手机号"
}
返回值 | 类型 | 是否必须 | 说明 |
---|---|---|---|
id | int | 是 | 用户id |
username | str | 是 | 用户名 |
str | 是 | 页码 | |
mobile | str | 是 | 总页数 |
后端实现
from rest_framework.viewsets import ModelViewSet
from meiduo_admin.serializers.admin import AdminSerializer
from users.models import User
from meiduo_admin.utils import UserPageNum
class AdminView(ModelViewSet):
serializer_class = AdminSerializer
# 获取管理员用户
queryset = User.objects.filter(is_staff=True)
pagination_class = UserPageNum
序列化器的定义
from rest_framework import serializers
from users.models import User
class AdminSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = "__all__"
extra_kwargs = {
'password': {
'write_only': True
}
}
运行效果: