2017-10-21 21 views
-3

我想在html中創建一個網頁,用戶必須在其中輸入一個url到文本框中。405當提交表單到Flask應用程序

<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

你有對此有何建議? :( 謝謝!

+1

這是燒瓶,而不是Django。 –

+0

感謝您的註釋丹尼爾,我現在正在學習這兩天,並且我在寫作時造成了困惑:) – ySlag

回答

1

你在你的<form>標籤忘記action="{{ url_for('result') }}",所以你提交表單到同一個頁面,這是不接受POST請求。

另外,request.form是字典,因此您需要[]而不是()才能訪問它也會失敗,因爲您從request.form獲得的字符串上不存在link屬性...

+0

謝謝你的時間:) – ySlag

1

你的功能result()回報什麼。

+0

重點不在於我想..我的意思是,函數將在未來返回url,但錯誤仍然存​​在我添加了一些東西回來 – ySlag

相關問題