17 django 删除产品
1 后台
- view
#删除 class DeleteProject(View): @login_check def post(self, request): print(request.body) body = json.loads(request.body) id = body['proj_id'] proj = Project.objects.filter(id=id) print('删除产品:') print(proj) if proj is not None: # 引入model,对数据库进行操作 Project.objects.filter(id=id).delete() result = {'code': 1, 'msg': u'删除产品成功!'} return JsonResponse(result, json_dumps_params={'ensure_ascii': False}) else: result = {'code': -1, 'msg': '被删除产品不存在!'} return JsonResponse(result, json_dumps_params={'ensure_ascii': False})
- urls
urlpatterns = [ path('add', AddProject.as_view(), name='add'), path('list', ProjectList.as_view(), name='list'), path('search', SearchProject.as_view(), name='search'), path('filter', FilterProject.as_view(), name='filter'), path('delete', DeleteProject.as_view(), name='delete'), ]
2 前台
- 请求
// 删除产品 export const project_delete = (id) => { return fetch(baseurl + '/v1/project/delete', { method: 'POST', body: JSON.stringify({'proj_id':id}), headers: new Headers({'Content-Type': 'application/json', 'authorization': localStorage.getItem('token')}), }).then(response => { return response.json() }) }
- 点击删除按钮
// 删除操作 handleDelete(index, row) { // 二次确认删除 this.$confirm("确定要删除吗?", "提示", { type: "warning" }) .then(() => { project_delete(row.id).then(res => { if (res.code === 1) { console.log(res) this.$message.success("删除成功"); this.tableData.splice(index, 1); // splice() 方法可删除从 index 处开始的零个或多个元素 this.getData() } else { this.$message.success(`删除失败`); } }) }) // .catch(() => {}); },
注:点击OK按钮,调用then方法指定的内容;点击cancel按钮,调用catch方法指定的内容;如果then中的方法在运行过程中抛出错误,也会被catch方法捕获。