请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

请教:Method Not Allowed (POST)

老师你好,我就写了一个普通的函数视图,用 POSTMAN 请求这个接口,一只提示我

Quit the server with CONTROL-C.
Method Not Allowed (POST): /pureapp/post-news/
Method Not Allowed: /pureapp/post-news/
[07/Sep/2022 06:50:23] "POST /pureapp/post-news/ HTTP/1.1" 405 0

下面是关键代码,还有哪里设置不对呢?请老师指教。
PS:没有弄任何用户登录,也注视掉了 CSRF 中间件。

@xframe_options_exempt
@require_http_methods(["POST"])
@csrf_exempt
def post_news(request):
    post = request.POST['post'].strip()
    if post:
        user = UserProfile.objects.get(pk=1)
        News.objects.create(user=user, content=post)
        html = render_to_string('news/news_single.html', {'news': 'xxx', 'request': request})
        return HttpResponse(html)
    else:
        return HttpResponseBadRequest("内容不能为空!")
urlpatterns = [
    url(r'', views.NewsListView.as_view()),
    url(r'post-news/', views.post_news),
    # path('post-news/', views.post_news, name='post_news'),
]

正在回答 回答被采纳积分+3

1回答

Jack 2022-09-13 10:19:55

hi, 应该是装饰器顺序的问题,@require_http_methods(["POST"])放在最下面,也可能是request类型不对,注意下postman测试的是http request还是ajax request

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号