Python 我是Django Rest_框架的新手。我正在尝试实现一个基于函数的视图,但在使用put方法时遇到了问题
我想知道如何访问给定特定ID的特定对象,然后更新它。我目前得到405方法不允许的错误 如上所述,是否可以通过ID访问对象,或者我必须以不同的方式处理问题 我的代码目前如下: views.pyPython 我是Django Rest_框架的新手。我正在尝试实现一个基于函数的视图,但在使用put方法时遇到了问题,python,django,django-rest-framework,Python,Django,Django Rest Framework,我想知道如何访问给定特定ID的特定对象,然后更新它。我目前得到405方法不允许的错误 如上所述,是否可以通过ID访问对象,或者我必须以不同的方式处理问题 我的代码目前如下: views.py from rest_framework import status from rest_framework.decorators import api_view from rest_framework.response import Response from home.models import exam
from rest_framework import status
from rest_framework.decorators import api_view
from rest_framework.response import Response
from home.models import example
from home.serializers import exampleSerializer
@api_view(['GET', ])
def exampleview(request):
try:
ex=example.objects.all()
except example.DoesNotExist:
return Response(status=status.HTTP_404_NOT_FOUND)
if request.method=="GET":
serializer=exampleSerializer(ex, many=True)
return Response(serializer.data)
@api_view(['PUT', ])
def exampleputview(request):
try:
ex1=example.objects.get(id=id)
except example.DoesNotExist:
return Response(status=status.HTTP_404_NOT_FOUND)
if request.method=="PUT":
serializer=exampleSerializer(ex1, data=request.data)
if serializer.is_valid():
serializer.save()
return Response(serializer.data)
return Response(status=status.HTTP_404_NOT_FOUND)
urls.py
from django.contrib import admin
from django.conf.urls import url
from home import views
urlpatterns = [
url('admin/', admin.site.urls),
url('home/',views.exampleview),
url('home/<int:id>/',views.exampleputview),
]
PUT方法需要一个id值,正如您在URL中提到的 尝试将id放入函数参数中
@api_view(['PUT', ])
def exampleputview(request, id):
try:
ex1=example.objects.get(id=id)
except example.DoesNotExist:
return Response(status=status.HTTP_404_NOT_FOUND)
if request.method=="PUT":
serializer=exampleSerializer(ex1, data=request.data)
if serializer.is_valid():
serializer.save()
return Response(serializer.data)
return Response(status=status.HTTP_404_NOT_FOUND)
下面的答案应该有用,或者显示你的邮递员形象