2017-07-27 67 views
1

應該發生什麼:我在Flask上運行這個python程序,並試圖從HTML表單返回「file_name」到我的python腳本,以便我可以在另一個python函數中使用它。 (例如,如果我在表單中的「File Name:」框中提交「myFile」,我希望我的HTML腳本將「myFile」正確地發送到我的python腳本中。我的腳本並提交一個字符串到HTML表單(「file_name」),並要求我的python腳本返回這個值,它將返回「無」。我試圖改變這個POST請求,也沒有解決問題。將字符串從HTML表單傳遞到Python不工作

在HTML頁面:

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
<title> 
Your Form 
</title> 

</head> 
    <body> 
      <form action ="/start/" method="GET" accept-charset="UTF-8"> 
       File Name: <input type ="text" name="file_name"> <br /> 
       <input type="submit" name="submit" value="submit"/> 
      </form> 
    </body> 
</html> 

Python的腳本,我把它連接到:

import cgi 

app = Flask(__name__) 
form = cgi.FieldStorage() 

@app.route('/start/', methods = ["GET"]) 
def Initiate(): 
    your_file_name = form.getvalue('file_name') 
    return your_file_name 

回答

0

相反的your_file_name = form.getvalue('file_name'),試試這個:

your_file_name = request.get_json('file_name')

另外,更改<form action ="/start/" method="GET" accept-charset="UTF-8">這樣:

<form action="/start/" mimetype='application/json' method="GET" accept-charset="UTF-8"> 

這會給你一個JSON響應,你可以用鍵值對解析。如果你還沒有準備好,確保你從瓶進口的要求:

from flask import request

+0

我想你的建議,並得到了這一點:「無法解碼JSON對象請求無效:無JSON對象可以解碼」。你知道爲什麼嗎? – SYD

+0

嘗試從您的提交按鈕中刪除名稱='submit'。另外,當你在網頁上時,右鍵點擊 - >檢查 - >控制檯(出現的窗口的頂部)。查看那裏的錯誤消息。它說什麼? 此外,您可以試試這個:your_file_name = request.get_json \ n file_name = your_file_name ['file_name'] – nat5142

相關問題