Flask项目中编辑API返回HTTP 405状态码的排查求助
问题:Flask编辑接口返回405 Method Not Allowed错误
我正在开发一个基于Flask框架、可对MariaDB数据库进行增删改操作的简易Web应用。目前app.py脚本除编辑API外均正常运行,该API返回HTTP 405状态码。已检查网站配置(尤其是URL)及数据库权限配置,未发现问题。
我推测问题出在以下代码处:
@app.route("/edit_contact/<id>", methods=['POST']) # Here def get_contact(id: int) -> str: # FIXME: 405 Method Not Allowed conn = connection() cur = conn.cursor() cur.execute('SELECT * FROM contacts WHERE idcontact = %d', (id)) # Or here data = cur.fetchall() print(data[0]) # Debug Message return render_template('edit.html', contact=data[0]) # It doesn't ever render the file
我期望该接口返回302状态码并渲染edit.html文件,但似乎URL存在问题。不过删除数据的接口在index.html中配置方式相同,却能正常工作。URL配置如下:
{% for contact in contacts %} <tr> <td>{{ contact.1}}</td> <td>{{ contact.2}}</td> <td>{{ contact.3}}</td> <td> <a href='/edit_contact/{{ contact.0 }}'>Edit</a> <a href='/delete_contact/{{ contact.0 }}'>Delete</a> </td> </tr> {% endfor %}
目前仍在排查该错误,欢迎提供帮助或提交PR。
内容的提问来源于stack exchange,提问作者Elyayoveloz
相关产品推荐
相关产品推荐

