【问题标题】:405 when submitting form to Flask app向 Flask 应用程序提交表单时出现 405
【发布时间】:2017-10-21 13:09:33
【问题描述】:

我正在尝试在 html 中创建一个网页,用户必须在其中将 url 输入到文本字段中。

<form name="submitURL" method ="post">
<input type="text" name="url_target">
<button type="submit">submit</button>

当用户按下提交按钮时,python 脚本应该拦截用户插入的数据并将其传递给该脚本内的另一个函数。

Python 脚本:

from flask import Flask, render_template, request

app = Flask(__name__)

@app.route('/')
def indhtml() :
   return render_template('index.html')

@app.route('/index.html', methods = ['POST'])
def result():
    result = request.form('url_target')
    link = result.link
    print (link)
    return

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

第一次渲染很好,我可以看到 index.html 页面,但是当我在文本字段中插入内容时出现错误 HTTP 405。

您对此有什么建议吗? :( 谢谢!

【问题讨论】:

  • 这是 Flask,不是 Django。
  • 感谢Daniel的注释,这几天我都在学习,写的时候搞糊涂了:)

标签: python flask


【解决方案1】:

您在 &lt;form&gt; 标记中忘记了 action="{{ url_for('result') }}",因此您将表单提交到不接受 POST 请求的同一页面。

此外,request.form 类似于 dict,因此您需要 [] 而不是 () 才能访问它。 link = result.link 也会失败,因为您从 request.form 获得的字符串上不可能存在 link 属性...

【讨论】:

    【解决方案2】:

    你的函数result() 什么也不返回。

    【讨论】:

    • 重点不是我想...
    猜你喜欢
    • 2020-05-30
    • 2020-11-29
    • 1970-01-01
    • 2014-06-06
    • 2012-12-15
    • 2020-10-20
    • 1970-01-01
    • 1970-01-01
    • 2020-10-17
    相关资源
    最近更新 更多