405向Flask应用程序提交表单时

时间:2017-10-21 13:09:33

标签: python flask

我试图在html中创建一个用户必须在文本字段中输入网址的网页。

<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页面,但是当我在textfield中插入一些东西时出现错误HTTP 405.

你有什么建议吗? :( 谢谢!

2 个答案:

答案 0 :(得分:1)

您的函数result()什么都不返回。

答案 1 :(得分:1)

您忘记了*@RequestMapping(value = "/sample/customers", method = POST) public Customer session() { return customerService.getCustomer(); }* 标记中的action="{{ url_for('result') }}",因此您将表单提交到同一页面,该页面不接受POST请求。

此外,<form>与dict类似,因此您需要request.form而非[]才能访问它。 ()也会失败,因为link = result.link的字符串无法存在link属性......