2015-05-17 54 views
0

我有一個python web應用程序,它對通過POST/GET參數發送給它的數據進行計算。 的應用程序完美的作品在我的機器上,但部署到openshift時,失敗,錯誤沒有32來訪問參數:斷的管來自openshift中部署的瓶子應用程序的訪問請求參數

然後我用這個quickstart回購協議只專注於服務器代碼,而不是應用程序代碼。

得到了POST區分和GET請求,並結束還有

這裏的相關Python代碼:

@app.route('/', methods=['GET','POST']) 
def index(): 
    result = "" 

    if request.method == "GET": 
     name = request.form['name'] if "name" in request.form else "" 
     result = "We received a GET request and the value for <name> is :%s" % name 
    elif request.method == "POST": 
     result = "We received a POST request" 
    else : 
     result = "We don't know what type of request we have received" 

return result 

所以我只是想知道我可以訪問該參數。

回答

1

不要在生產中使用Flask的開發服務器。使用可處理併發請求的正確WSGI服務器,如Gunicorn。現在嘗試打開服務器的線程模式,看看它是否工作。

app.run(host="x.x.x.x", port=1234, threaded=True) 
+0

此外,OpenShift可能會限制您的請求。嘗試檢查升級計劃是否有效。 – Augiwan

0

您可以從POST請求通過獲取表單數據:

name = request.form.get("name") 

重構:

@app.route('/', methods=['GET', 'POST']) 
    def index(): 
     if request.method == 'POST': 
      name = request.form.get("name") 
      result = "We received a POST request and the value for <name> is - {0}".format(name) 
     else: 
      result = "This is a GET request" 
     return result 

參考official Flask documentation瞭解更多關於Request對象。

相關問題