环境 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