当前位置: 首页 > news >正文

空壳主体接入网站安阳企业网站建设

空壳主体接入网站,安阳企业网站建设,商务网站建设与维护论文,网站建设与管理实施方案RESTAPI 以资源为url#xff0c;通过不同的请求方式实现不同的行为。 以资源名作为url POST:增 …/student/ GET#xff1a;查所有 …/student/ GET#xff1a;查单个 …/student/pk/ 获取idpk的学生 DELETE#xff1a;删 …/student/pk/ PUT#…RESTAPI 以资源为url通过不同的请求方式实现不同的行为。 以资源名作为url POST:增 …/student/ GET查所有 …/student/ GET查单个 …/student/pk/ 获取idpk的学生 DELETE删 …/student/pk/ PUT改全部 …/student/pk/ PATCH改部分 …/student/pk/ 视图函数 数据从前端传到服务器时需要反序列化成能存入数据库的数据同样数据从数据库取出需要序列化成可以传给前端的Json数据drf里的序列化器可以很好地实现序列化与反序列化两个步骤。 1. 序列化器 1. 自己写的序列化器 设置字段然后可以设置POST和UPDATE时数据库的操作 class BookSerializers(serializers.Serializer):title serializers.CharField(max_length32)price serializers.IntegerField()pub_date serializers.DateField()def create(self, validated_data):# 添加数据逻辑new_book Book.objects.create(**validated_data)return new_bookdef update(self, instance, validated_data):Book.objects.filter(pkinstance.pk).update(**validated_data)updated_book Book.objects.get(pkinstance.pk)return updated_book2. 使用ModelSerializer里面实现了create和update方法 # ModelSerializer 模型序列化器只需要配置 class BookSerializers(serializers.ModelSerializer):date serializers.DateField(sourcepub_date)class Meta:model Book#fields __all__exclude [pub_date]2. 视图函数 1. 继承APIView自己写get/post/get/put/delete方法 class BookView(APIView):def get(self, request):# 获取所有书籍book_list Book.objects.all()# 构建序列化器对象serializer BookSerializers(instancebook_list, manyTrue)return Response(serializer.data)def post(self, request):serializer BookSerializers(datarequest.data)if serializer.is_valid():# 通过# new_book Book.objects.create(**serializer.validated_data)serializer.save()return Response(serializer.data)else:# 校验失败return Response(serializer.errors)return Response()class BookDetailView(APIView):def get(self, request, id):book Book.objects.get(pkid)serializer BookSerializers(instancebook, manyFalse)return Response(serializer.data)def put(self, request, id):update_book Book.objects.get(pkid)serializer BookSerializers(instanceupdate_book, datarequest.data)if serializer.is_valid():serializer.save()return Response(serializer.data)else:return Response(serializer.errors)def delete(self, request, id):Book.objects.get(pkid).delete()return Response()2. 继承GenericAPIView 好像没有什么区别就是把请求和序列化器在类里声明了然后使用self.get_serializer来获得序列化器用get_objetct来获取查询结果。 class PublishDetailView(GenericAPIView):queryset Publish.objects.all()serializer_class PublishSerializersdef get(self, request, pk):serializer self.get_serializer(instanceself.get_object(), manyFalse)return Response(serializer.data)def put(self, request, pk):serializer self.get_serializer(instanceself.get_object(), datarequest.data)if serializer.is_valid():serializer.save()return Response(serializer.data)else:return Response(serializer.errors)def delete(self, request, pk):self.get_object().delete()return Response()3. 继承generic的ListCreateAPIView, RetrieveUpdateDestroyAPIView 查询全体和查询单人需要写两个视图函数 class PublishView(ListCreateAPIView):queryset Publish.objects.all()serializer_class PublishSerializersclass PublishDetailView(RetrieveUpdateDestroyAPIView):queryset Publish.objects.all()serializer_class PublishSerializers4. 继承ModelViewSet 一行解决 class AuthorView(ModelViewSet):queryset Author.objects.all()serializer_class AuthorSerializers
http://www.zqtcl.cn/news/764709/

相关文章:

  • 广东电白建设集团有限公司网站wordpress 静态地址
  • 微网站和手机站区别工业设计专业学什么
  • 兰州网站建设哪里好素材图片高清
  • 公司网站建设进度设计官网登录入口
  • 中牟高端网站建设wordpress可视化文章
  • 那家公司做网站广西网络营销外包公司
  • 成品网站速成网站知名网站建设加盟合作
  • 零基础学pytho 网站开发Drupal对比WordPress
  • 网站开发 例子快影
  • 宁津建设局网站推介网站
  • c 是用来做网站的吗中国营销策划网
  • 在建设部网站首页莒县网页设计
  • 河北省城乡和住房建设厅网站网店代运营托管
  • 彩票网站建设wordpress判断用户权限
  • 简洁大气企业网站源码h5商城网站建设是什么
  • 河间做网站价格wordpress评论导出
  • 网站关键词布局图网站推广与宣传怎么做
  • 小说类网站程序西安移动网站建设
  • 贵州高端网站建设网站做好了怎么做后台
  • 网站建设与管理 答案国外做免费的视频网站有哪些
  • 网站建设电脑端手机端企业网站建设需求调研表
  • 怎么做游戏网站google国际版
  • 学校网站建设发展规划线上推广的渠道有哪些
  • 公主岭网站建设seo网站推广技术
  • 网站建设一次crm管理
  • 电商网站设计公司优选亿企邦wordpress管理员头像
  • 医院做网站需要多少钱wordpress 模板 设计
  • 建设网站的规则建设公司网站的原则
  • 专业网站定制 北京龙泉驿网站seo
  • 网站标签是什么网站flash导入页