【问题标题】:“detail”: “Method \”GET\“ not allowed.” Django Rest Framework“详细信息”:“方法 \”GET\“ 不允许。” Django 休息框架
【发布时间】:2021-07-01 02:20:42
【问题描述】:

我知道这个问题是重复的我是 django 的初学者我尝试了各种方式但无法找到解决方案 我正在尝试使用 django rest 框架上传文件并获得 json 响应

到目前为止我尝试的是

views.py:

from rest_framework.views import APIView
from rest_framework.parsers import MultiPartParser, FormParser
from rest_framework.response import Response
from rest_framework import status
from .serializers import FileSerializer

class FileView(APIView):
  parser_classes = (MultiPartParser, FormParser)
  

  def post(self, request, *args, **kwargs):
    file_serializer = FileSerializer(data=request.data)
    if file_serializer.is_valid():
      file_serializer.save()
      return Response(file_serializer.data, status=status.HTTP_201_CREATED)
    else:
      return Response(file_serializer.errors, status=status.HTTP_400_BAD_REQUEST)

urls.py:

from django.conf.urls import url
from .views import FileView

urlpatterns = [
    url(r'^upload/$', FileView.as_view(), name='file-upload'),
    url(r'^upload/<int:pk>/$', FileView.as_view(), name='file-upload'),
]

错误是:

方法 /GET/ 不被允许

请帮助我提前谢谢

【问题讨论】:

  • 嗨@madhavi,您在哪个端点收到此错误?另外,我认为您正在使用邮递员或其他 API 客户端来测试端点。您可以分享它的请求和响应吗?
  • @VJMagar in this url 127.0.0.1:8000/file/uploadlocal one
  • @VJMagar 没有在本地服务器 DRF 中使用邮递员,我得到了这个
  • 你能用页面截图编辑你的问题吗?
  • @VJMagar 我无法添加屏幕截图,因为我是 stackoverflow 的新手,分数很低

标签: python django django-rest-framework django-views django-urls


【解决方案1】:

如果您可以查看您的 view.py 文件,您没有任何 GET 方法,这就是它无法使用 GET 请求调用 URL 的原因。

【讨论】:

    猜你喜欢
    • 2019-12-09
    • 2018-03-02
    • 1970-01-01
    • 2021-02-19
    • 2021-02-18
    • 1970-01-01
    • 1970-01-01
    • 2018-05-30
    • 2016-01-27
    相关资源
    最近更新 更多