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

汽车网站flash模板wordpress上传附加

汽车网站flash模板,wordpress上传附加,学校网站制作公司,推进网站建设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>/ 获取id=pk的学生

DELETE:删 …/student/<pk>/

PUT:改全部 …/student/<pk>/

PATCH:改部分 …/student/<pk>/

视图函数

数据从前端传到服务器时,需要反序列化成能存入数据库的数据,同样,数据从数据库取出,需要序列化成可以传给前端的Json数据,drf里的序列化器可以很好地实现序列化与反序列化两个步骤。

1. 序列化器

1. 自己写的序列化器:

设置字段,然后可以设置POST和UPDATE时数据库的操作

class BookSerializers(serializers.Serializer):title = serializers.CharField(max_length=32)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(pk=instance.pk).update(**validated_data)updated_book = Book.objects.get(pk=instance.pk)return updated_book

2. 使用ModelSerializer,里面实现了create和update方法

# ModelSerializer 模型序列化器,只需要配置
class BookSerializers(serializers.ModelSerializer):date = serializers.DateField(source='pub_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(instance=book_list, many=True)return Response(serializer.data)def post(self, request):serializer = BookSerializers(data=request.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(pk=id)serializer = BookSerializers(instance=book, many=False)return Response(serializer.data)def put(self, request, id):update_book = Book.objects.get(pk=id)serializer = BookSerializers(instance=update_book, data=request.data)if  serializer.is_valid():serializer.save()return Response(serializer.data)else:return Response(serializer.errors)def delete(self, request, id):Book.objects.get(pk=id).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(instance=self.get_object(), many=False)return Response(serializer.data)def put(self, request, pk):serializer = self.get_serializer(instance=self.get_object(), data=request.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 = PublishSerializers

4. 继承ModelViewSet

一行解决

class AuthorView(ModelViewSet):queryset = Author.objects.all()serializer_class = AuthorSerializers
http://www.yayakq.cn/news/187219/

相关文章:

  • 电子商务企业网站建设计划书网站建设网站建设公司
  • 沈阳网站开发外包google关键词seo
  • 豪华跑车网站建设wordpress 过滤标签
  • wordpress主题搭建seo词条
  • 定制网站设计公司vps主机怎么建设网站
  • 沧州网站建设 网络服务wordpress中文版邮件发送
  • 内江 网站建设南宁seo多少钱费用
  • 文明网站建设总结丽江建设公司网站
  • 各大搜索引擎网站登录入口wordpress 会话
  • 北京建设制作网站加工平台校准系统
  • 海宁做网站常州网站建设公司市场
  • 微网站的建设模板有哪些内容婚纱设计网站
  • 如何做商业推广网站广东东莞职业技术学院
  • 公司网站建设多少费用wordpress搬家404
  • wordpress建站ftp邢台专业网站建设源码
  • wordpress插件用户做网站需要做优化吗
  • 网络公司网站qq在线登录直接登录
  • 网站导航栏怎么设置滇中引水工程建设管理局网站
  • 番禺网站开发多少钱做网站的论坛
  • 开源网站建设教程雄县网站制作建设中心
  • 网络架构图和拓扑图刷关键词优化排名
  • 湖北网站建设平台信息分类网站建设
  • 白酒网站模板高清视频素材
  • 国外有什么优秀的网站推荐摄影设计工作室
  • 学校网站建设先进个人荣誉网站建设无广告语
  • lnmp网站开发个人怎么做跨境电商
  • 自己做公司网站简单吗潍坊专业输送带产品介绍
  • 怎样提高网站排名wordpress主题academy
  • 做视频网站怎么看不会卡网页设计作业动漫网页
  • 迅雷资源做下载网站张家界网站建设