
flask收不到请求,无响应和报错
在使用flask作为后端,使用微信小程序进行真机调试时,遇到了问题:发送请求时,flask对应的函数没有执行,也没有发送响应或错误信息。
分析
通过对比模拟器和真机调试的情况,发现问题可能与请求ip地址有关。模拟器请求时的ip地址为本地ip,而真机调试时的ip地址为另一个ip。
解决
检查了blueprint声明部分和路由部分,发现声明blueprint时没有指定前缀,导致路由的url不完整。修改路由部分如下:
# 修改前@app.route('/login')# 修改后@app.route('/api/login')
修改后,flask可以正确收到请求并执行对应的函数。
原因
flask使用blueprint管理项目时,如果在声明blueprint时没有指定前缀,那么blueprint下的所有路由前缀都会缺失。当请求ip不是本地ip时,flask会将请求转发给相应的blueprint处理。但是,由于blueprint下的路由前缀缺失,flask无法找到匹配的路由,导致无法响应请求。
建议
为了避免此类问题,在使用blueprint时,建议直接指定前缀,而不是直接写在根目录。
以上就是Flask后端无响应:真机调试请求失败的原因是什么?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1353998.html
微信扫一扫
支付宝扫一扫