一、业务功能分析
1,业务需求分析
用户的增删改查,权限分组的控制
2,功能分析
用户列表
修改用户
删除用户
二、用户列表
1.业务流程分析
接收参数
校验参数
查询数据
分页
2.接口设计
1.接口说明:
类目 说明
请求方法 GET
url定义 /admin/users/
参数格式 查询参数
2.参数说明:
参数名 类型 是否必须 描述
username 字符串 否 要查询的用户名
group 整数 否 要查询的group_id
is_staff 整数 否 用户是否员工
is_superuser 整数 否 父菜单ID
page 整数 否 页码
3.返回数据
html
三、用户详情页面
1.接口设计
1.接口说明:
类目 说明
请求方法 GET
url定义 /admin/user/<int:user_id>
参数格式 路径参数
2,参数说明
参数名 类型 是否必须 描述
user_id 整数 是 要查询的用户id
3,返回数据
html
四、修改用户
1.接口设计
1.1.接口说明:
类目 说明
请求方法 PUT
url定义 /admin/user/<int:user_id>
参数格式 路径参数
1.2,参数说明
参数名 类型 是否必须 描述
user_id 整数 是 用户id
username 字符串 是 用户名
mobile 字符串 是 手机号码
is_staff 字符串 是 是否职员
is_superuser 字符串 是 是否超级用户
is_active 字符串 是 是否激活
1.3,返回数据
{
"errno":‘0‘
"errmsg":"用户修改成功!"
}
如果有错误,返回html表单
2.后端代码
class UserUpdateView(View):
def put(self, request, user_id):
#1,拿到要修改多用户对象
user = User.objects.first(id=user_id).first()
#1.1判断用户是否存在
if not user:
return json_response(errno=Code.NODATA, errmsg=‘没有此用户‘)
#2,拿到前端传递的参数
put_data = QueryDict(request.body)
#3,校验参数
form = UserModelForm(put_data, instance=user)
if form.is_valid():
#4,如果成功,保存数据
form.save()
return json_response(errmsg=‘用户修改成功‘)
else:
#5,如果不成功就返回渲染了错误提示信息的页面
return render(request, ‘myadmin/user/user_detail.html‘, context={‘form‘: form})
原文:https://www.cnblogs.com/wdty/p/11449309.html