zoukankan      html  css  js  c++  java
  • django rest_framework--入门教程3

    rest_framwork 之post 与put

    rest_framwork可以接受post与put delete get请求,可以对资源进行刚CRUD,以一个DEMO为例,

    1.先在VIEW里定义一个方法

      

    @api_view(['GET', 'PUT', 'DELETE'])
    def book_detail(request,pk):
    	"""
    	Retrieve, update or delete a book instance.
    	"""
    	try:
            	book = Book.objects.get(pk=pk)
    	except Book.DoesNotExist:
    		return Response(status=status.HTTP_404_NOT_FOUND)
    
    	if request.method == 'GET':
    		serializer = BookSerializer(book)
    		return Response(serializer.data)
    
    	elif request.method == 'PUT':
    		serializer = BookSerializer(book, data=request.DATA)
    		if serializer.is_valid():
    		    serializer.save()
    		    return Response(serializer.data)
    		else:
    		    return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
    
    	elif request.method == 'DELETE':
    		book.delete()
    		return Response(status=status.HTTP_204_NO_CONTENT)
    

     接受BOOK的主键,如果这个主键不存在,会返回404的状态码,可以通过POST对象去更新对象,这种方式跟.net里面类似,之后会写一个.net的类似的。当然可以删除对象,这里可以灵活的返回状态码。如果是用curl的话 因为在setting里面配置了所以要加上-u test:pwd 这个认证在firefox里填上并没有用,还请注意,可以在图形界面POST一个,复制curl命令 放在终端执行,这个时候是OK的。到这里基本的CURD就完了接下来看能不能写一些rest_framework的API的,有兴趣的同学可以跟着看看,写文当记录了

  • 相关阅读:
    激活Maven profile的几种方式
    利用maven的filter和profile实现不同环境使用不同的配制
    通过profile 用maven命令打不同配置的变量包
    使用Maven Profile实现多环境构建
    Window下Nexus私服搭建
    linux之nginx
    linux之命令进阶
    linux之常见命令
    flask中路由的本质源码分析
    vmware+CentOs 6.9的安装步骤
  • 原文地址:https://www.cnblogs.com/EncryptingLife/p/5156263.html
Copyright © 2011-2022 走看看