首页 > 解决方案 > “详细信息”:“方法 \”GET\“ 不允许。” 错误

问题描述

我正在尝试通过从序列化程序中提取数据来创建一篇文章,但我收到一条错误消息,上面写着“详细信息”:“不允许使用方法 \”GET\“。” 错误

为什么?

视图.py

class ArticleView(CreateAPIView):
    serializer_class = ArticleCreateSerializer
    permission_classes = (IsAuthenticated,)
    def post(self, request, format=None):
        try:
            serializer = self.serializer_class(data=serializer_data, context=serializer_context,)
            serializer_context = {'request': request }
            serializer_data = request.data.get('article',{})

            if serializer.is_valid():
                serializer.save()
                return Response({'success': True})
            else:
                return JsonResponse({'fail':'True'})
        except Exception as e:
                return JsonResponse({'exception':'True'})

网址.py

from django.conf.urls import url,include
from accounts.views import ArticleView

urlpatterns = [

    url('createarticle/', ArticleView.as_view(), name='articlecreate'),
    ]

标签: django

解决方案


您已经使用 指定了 HTTP POST 的方法def post(self, request, format=None):,但没有类似的 HTTP GET 方法,例如def get(self, request, format=None):。因此,Django 不接受您的请求。所有 HTTP 方法都可以在Mozzila 的开发文档中找到。

我认为这是 Django Rest 框架,因此建议您阅读他们关于如何使用它的教程,因为它在此处明确说明


推荐阅读