vue.js2.5 pc网站开发,广西城乡建设部网站首页,短视频网站平台怎么做,寿光网站建设公司一、前提概述
通过项目驱动来学习#xff0c;以图书管理系统为例#xff0c;编写接口来实现对图书信息的查询#xff0c;图书的添加#xff0c;图书的修改#xff0c;图书的删除等功能。#xff08;不包含多重信息的校验#xff0c;只为了熟悉增删改查接口的实现流程以图书管理系统为例编写接口来实现对图书信息的查询图书的添加图书的修改图书的删除等功能。不包含多重信息的校验只为了熟悉增删改查接口的实现流程
二、模型展示
class Books(models.Model):id models.CharField(primary_keyTrue, max_length20, verbose_name图书编号)name models.CharField(max_length50, verbose_name书名)status models.BooleanField(verbose_name是否出借, defaultFalse,blankTrue)class Meta:db_table bookverbose_name 图书表def __str__(self):return self.name
三、查询接口 def get(self,request):#进行账号验证只用通过登录才可以实现查询功能if not request.user.is_authenticated:return JsonResponse({code:2001,message:账号认证失败})#获取所有图书对象bs Books.objects.all()data []#以字典的形式封装每一条图书信息并进行存储for b in bs:dic {id:b.id,name:b.name,status:b.status}data.append(dic)return JsonResponse({code:200,message:获取成功,data:data})
四、添加接口 #添加一条图书信息def post(self,request):#进行账号验证只用通过登录才可以实现查询功能if not request.user.is_authenticated:return JsonResponse({code:2001,message:账号认证失败})#获取所要添加图书的信息params request.POST if len(request.POST) else json.loads(request.body.decode())id params.get(id)name params.get(name)#进行信息为空验证if not(id and name):return JsonResponse({code: 2002, message: 信息不能为空值})if not isinstance(id,str):return JsonResponse({code:2003,message:信息需为字符串形式})if not isinstance(name,str):return JsonResponse({code:2003,message:信息需为字符串形式})try:Books.objects.create(idid,namename)except Exception as e:return JsonResponse({code:2004,message:书籍已存在})else:return JsonResponse({code:200,message:成功})
五、修改接口 #修改一条图书信息def put(self,request):#进行账号验证只用通过登录才可以实现查询功能if not request.user.is_authenticated:return JsonResponse({code:2001,message:账号认证失败})#获取修改信息params request.POST if len(request.POST) else json.loads(request.body.decode())id params.get(id)name params.get(name)status params.get(status)try:book Books.objects.get(idid)except Exception as e:return JsonResponse({code:2005,message:图书不存在})else:book.name namebook.status statusbook.save()return JsonResponse({code:200,message:成功})
六、删除接口 #删除一条信息def delete(self,request):#进行账号验证只用通过登录才可以实现查询功能if not request.user.is_authenticated:return JsonResponse({code:2001,message:账号认证失败})params request.POST if len(request.POST) else json.loads(request.body.decode())id params.idtry:book Books.objects.get(idid)except Exception as e:return JsonResponse({code:2005,message:图书不存在})else:book.delete()return JsonResponse({code:200,message:成功})