django - “详细信息”:“方法 \”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'),
]
解决方案
您已经使用 指定了 HTTP POST 的方法def post(self, request, format=None):
,但没有类似的 HTTP GET 方法,例如def get(self, request, format=None):
。因此,Django 不接受您的请求。所有 HTTP 方法都可以在Mozzila 的开发文档中找到。
我认为这是 Django Rest 框架,因此建议您阅读他们关于如何使用它的教程,因为它在此处明确说明。
推荐阅读
- javascript - 当 ref 的值发生变化时,Vue 不会更新模板 Vue 3
- python - 获取列数据框中给定复杂条件的索引
- unit-testing - Visual Studio Enterprise 2019,“配置文件”单元测试导致错误:文件不包含数据缓冲区
- powershell - 如何从 https://www.googleapis.com/oauth2/v3/certs 生成符合 PEM 或 x509 的证书?
- python - python中的模板化对象生成
- php - 如何将数组写入文件 PHP?
- swift - 刷新视图时,UILabel 不会替换以前的文本
- javascript - 循环未在 dom 中写入预期输出 15 次
- ios - JustLog中的NSURLAuthenticationMethodServerTrust质询启用logstash日志记录到logz.io
- node.js - Nodejs,sqllite3数据类型问题