一、業務功能分析
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})