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的,有兴趣的同学可以跟着看看,写文当记录了

  • 相关阅读:
    Git撤销某次分支的合并Merge
    Git撤销commit到未提交状态
    团队项目的Git分支管理规范
    命令行高效操作Git
    WebGoat安装说明
    您备案的网站未指向阿里云国内节点(不含香港)服务器,备案号可能被取消接入
    Java加密、解密--AES_Base64
    github 搜索技巧
    docker简介及安装常用开发软件
    springboot整合kafka实现消息推送
  • 原文地址:https://www.cnblogs.com/EncryptingLife/p/5156263.html
Copyright © 2011-2022 走看看