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

posted @ 2016-01-24 22:56  有没有人知道  阅读(497)  评论(0编辑  收藏  举报