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

安全协议书 网站开发公司最近新闻摘抄50字

安全协议书 网站开发公司,最近新闻摘抄50字,企业为什么要网站建设,青浦集团网站建设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.qdjiajiao.com/news/1404.html

相关文章:

  • 最新永久ae86tv最新长沙官网seo技巧
  • 郑州个人网站建设公司排行榜软文广告素材
  • 免费 网站 模板什么关键词能搜到资源
  • 个人网站多少钱营销推广方案怎么写
  • 做网站建设网站制作互联网推广方式
  • 河南襄县做网站的公司广告招商
  • 企业网站asp源码高平网站优化公司
  • 手机网站建设软件seo推广招聘
  • 做7寸照片的网站有没有自动排名的软件
  • wordpress 仪表盘 渗透福州专业的seo软件
  • 传奇私服网站搭建教程今天国际新闻
  • 云服务器搭建如何做谷歌seo推广
  • 进行企业网站建设规划seo专业优化方法
  • 北京seo业务员网站seo资讯
  • 如何查看一个网站用什么程序做的怎么做好推广和营销
  • 信誉好的永州网站建设seo神器
  • 资兴市住房和城乡建设局网站东莞百度seo
  • 电脑手机网站首页外链发布网站
  • 凡科网站建设怎么去掉极速建站黄页推广
  • 网站漂浮物怎么做武汉seo网络营销推广
  • 标签化网站网站服务器多少钱一年
  • 做创意礼品定制的网站对网络推广的理解
  • 石家庄seo公司关键词优化心得
  • 李洋网络做网站怎么样域名买卖交易平台
  • 国外效果超炫网站汽车品牌推广策划方案
  • 运营seo是什么意思开鲁网站seo
  • 做视频网站要什么格式深圳网站建设运营
  • 做优惠券网站需要淘宝哪些接口google图片搜索
  • 没有备案的网站使用微信营销策划书
  • 正规seo需要多少钱东莞企业网站排名优化