首页 > 其他分享 >Flask HTTP 405错误--Method not allowed

Flask HTTP 405错误--Method not allowed

时间:2022-11-02 14:12:25浏览次数:58  
标签:__ HTTP name Flask app request -- POST

环境 Flask2.2.2

 

代码如下

from flask import Flask, request

app = Flask(__name__)

@app.route('/test/', methods=['POST'])
def t():
    return {'out': 1}


if __name__ == '__main__':
    app.run()

报错 405

 

这是因为在路由时,仅仅允许POST请求,

当你访问url时,首先是做了一个GET请求;从浏览器提交参数后,才会做一个POST请求。

因此,上述代码改为

from flask import Flask, request

app = Flask(__name__)

@app.route('/test/', methods=['GET', 'POST'])
def t():
    return {'out': 1}


if __name__ == '__main__':
    app.run()

可以了,不报405了

 

继续,代码修改如下

from flask import Flask, request

app = Flask(__name__)

@app.route('/test/', methods=['GET', 'POST'])
def t():
    if request.method == 'POST':
        return {'out': 1}


if __name__ == '__main__':
    app.run()

报500,其实是同样的问题

 

修改如下

from flask import Flask, request

app = Flask(__name__)

@app.route('/test/', methods=['GET', 'POST'])
def t():
    if request.method == 'POST':
        return {'out': 1}
    else:
        return {'out': 2}

if __name__ == '__main__':
    app.run()

 

以前的版本好像没这个问题,版本问题,头疼...

 

 

参考资料:

https://blog.csdn.net/miao0967020148/article/details/80278094

标签:__,HTTP,name,Flask,app,request,--,POST
From: https://www.cnblogs.com/yanshw/p/16850409.html

相关文章

  • 单元测试用例复用到集成测试?Testlet Library来助力!
    前言  作为一名测试工程师,在做MiL测试时,编写测试用例的效率影响整个测试项目的进度,如何有效提升编写测试用例的效率,是大家都关心的问题。 TPT作为一款自动化测试......
  • Seata no available server to connect
    错误原因场景1idea项目中文件配置和nacos的seata中分组不一致 service.vgroupMapping.fsp_tx_group=defaultservice.vgroup_mapping.fsp_tx_group=default  ......
  • 先立两个flag!✌️
    接下来半年的时间(2022.11.02~2023.05.02)我想做两件事情,写一个网页再写一个小程序,全部都是从零开始,市面上不曾有的那种功能都是和文化知识,书籍有关的吧第一个网页主题......
  • mysql_fdw安装使用
    环境:OS:Centos7pgdb:13.8mysqldb:5.7 1.安装fdw[root@localhostextension]#yumlistmysql_fdw*[root@localhostextension]#yuminstallmysql_fdw_13.x86_64[post......
  • 直播网站程序源码,搜索框实现快速搜索功能
    直播网站程序源码,搜索框实现快速搜索功能module.exports=asyncfunction(params,context){ constdb=context.database const_=db.command letresult=......
  • java的多线程实现方式以及对应的线程锁实现
    一、多线程的实现1.1继承Thread类继承:packagecom.yuan.yk.ThreadLearn;importstaticcom.yuan.yk.ThreadLearn.func1.doSomething;publicclassThreadFuncextends......
  • vue-awesome-swiper的使用
    官方git:https://github.com/surmon-china/vue-awesome-swiper大坑,安装vue-awesome-swiper还需要安装swiper,并且要安装对应的版本。VUE2开发可以用这两个版本:"swiper":......
  • 美多商城项目
    美多商城课件在线地址http://121.5.151.41/mylesson/Django/%E7%BE%8E%E5%A4%9A%E5%95%86%E5%9F%8E%E9%A1%B9%E7%9B%AE%E8%AF%BE%E4%BB%B6/index.html需求分析用户部......
  • css样式设计思路总结
    如何清除图片下方出现几像素的空白间隙?方法1:img{display:block;}方法2:img{vertical-align:top;}除了top值,还可以设置为text-top|middle|bottom|text-bottom......
  • 力扣-147-对链表进行插入排序
    ListNode*insertionSortList(ListNode*head){ //待排节点需要和它前面的节点比较?单链表怎么比,单链表的反向遍历? //只能从头开始找 //还要手写链表的交换? if(!he......