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

  • 相关阅读:
    html5学习系列之ef类标签
    html5学习系列之cd标签
    Java学习系列——xml学习基础
    html5学习系列——b标签
    为什么我要使用Linux,使用Linux的十个理由。
    设置Linux系统的空闲等待时间TMOUT的方法和Linux反空闲设置的两种方法
    创建动态MSSQL数据库表的方法
    SQL SERVER 自增列的方法
    XtraBackup构建MySQL主从环境的方法
    如何查看MySQL执行计划呢?
  • 原文地址:https://www.cnblogs.com/EncryptingLife/p/5156263.html
Copyright © 2020-2023  润新知