【发布时间】:2018-03-05 07:11:51
【问题描述】:
我有一个基于函数的视图:
@api_view(['GET', 'PUT', 'DELETE'])
def hotel_detail(request, pk):
# Lots of code
我正在使用这个 URL 模式:
url(r'^hotel/(?P<pk>[0-9]+)/$', api.hotel_detail)
但它不起作用
查看:
@api_view(['GET', 'PUT', 'DELETE'])
def hotel_detail(request, pk):
# Retrieve, update or delete a Hotel instance.
try:
hotel = models.Hotel.objects.get(pk=pk)
except models.Hotel.DoesNotExist:
return Response(status=status.HTTP_404_NOT_FOUND)
if request.method == 'GET':
serializer = serializers.HotelSerializer(hotel)
return Response(serializer.data)
elif request.method == 'PUT':
serializer = serializers.HotelSerializer(hotel, data=request.data)
if serializer.is_valid():
serializer.save()
return Response(serializer.data)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
elif request.method == 'DELETE':
hotel.delete()
return Response(status=status.HTTP_204_NO_CONTENT)
我没有收到任何错误消息。
【问题讨论】:
-
添加
views.py并发布错误。 -
你有什么错误吗?
-
我没有收到任何错误信息。
-
在 urly.py 中:api.hotel_detail 或 views.hotel_detail ?
-
我在 api.py 文件中创建了视图。
标签: django django-rest-framework django-views django-urls