You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flask应用POST请求出现405 Method Not Allowed错误求助

解决Flask短信群发应用提交表单时的405 Method Not Allowed错误

问题根源

你用VS Code的Live Server扩展运行Flask应用是核心错误——Live Server仅用于托管静态HTML文件,无法处理Flask的动态路由和POST请求。当表单提交到/send_sms时,Live Server无法识别这个Flask定义的路由,直接返回405错误。

正确解决方案

1. 使用Flask官方开发服务器启动应用

Live Server不支持WSGI协议(Flask依赖的服务器规范),必须用Flask自带的开发服务器运行:

  • 确保已安装依赖:
    pip install flask twilio
    
  • 在项目根目录下,设置Flask环境变量并启动服务器:
    • Windows:
      set FLASK_APP=app.py
      flask run
      
    • Linux/macOS:
      export FLASK_APP=app.py
      flask run
      
    • 或者在app.py末尾添加启动代码,直接运行python app.py:
      if __name__ == '__main__':
          app.run(debug=True)
      

2. 修正代码依赖(确保必要模块导入)

检查app.py开头是否包含以下导入,否则会导致运行错误:

from flask import Flask, request, redirect, url_for, render_template
from twilio.rest import Client

app = Flask(__name__)

# 替换为你的Twilio账号信息
account_sid = 'your_account_sid'
auth_token = 'your_auth_token'
client = Client(account_sid, auth_token)

3. 验证访问路径

启动Flask服务器后,访问http://localhost:5000(默认端口),而不是Live Server的端口(通常是5500)。此时表单提交会被Flask的/send_sms路由正确处理。

为什么之前的方案无效

你尝试的web.config配置、修改路由方法等操作,都是针对IIS或Flask路由本身的调整,但问题本质是用错了服务器——Live Server无法解析Flask的动态路由规则,所以这些调整无法解决405错误。

内容的提问来源于stack exchange,提问作者peekay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 04:26:01