我有一個名為getTableData()的函式,它運行另一個函式get_table()并基于該 get_table()輸出呼叫最終函式,該函式呈現模板并路由到不同的頁面。
所以問題是它沒有從get_final()函式路由到不同的 url ( /tabdata )
燒瓶代碼:
@app.route('/api/getTableData', methods=['POST'])
def getTableData():
value = request.json['value']
value=value[:8]
url="https://some.com" value
df_time=get_table(url)
return get_final(df_time)
def get_table(url):
driver = webdriver.Chrome(options=options)
driver.get(url)
abv = pd.read_html(driver.find_element(By.ID,"frm_hist").get_attribute('outerHTML'))[0]
df_time = pd.DataFrame(abv)
return df_time
@app.route("/tabdata")
def get_final(df_time):
return render_template("new.html",df_time = df_time)
代碼說明:
我使用 value 變數中的值,然后concat 2 個字串來制作 url,然后將 url 傳遞給另一個名為get_table()的函式,該函式轉到該 url 并抓取表格并將其轉換為 python 資料幀。
因此,使用回傳的 python 資料幀get_final()被呼叫以在 html 檔案中呈現模板并路由到/tabdata url。一切都運行良好,除了頁面沒有路由到該 url
uj5u.com熱心網友回復:
您必須回傳重定向:
from flask import redirect
@app.route("/tabdata/<df_time>")
def get_final(df_time):
return redirect("http://www.example.com", code=200)
uj5u.com熱心網友回復:
如果您決定將來更改路線,請使用redirect并使用它。url_for您還需要更改視圖功能get_final
from flask import redirect, url_for
@app.route('/api/getTableData', methods=['POST'])
def getTableData():
value = request.json['value']
value = value[:8]
url = "https://some.com" value
df_time = get_table(url)
return redirect(url_for('get_final', df_time=df_time))
def get_table(url):
driver = webdriver.Chrome(options=options)
driver.get(url)
abv = pd.read_html(driver.find_element(By.ID,"frm_hist").get_attribute('outerHTML'))[0]
df_time = pd.DataFrame(abv)
return df_time
@app.route("/tabdata/<df_time>") # notice change here!
def get_final(df_time):
return render_template("new.html", df_time=df_time)
uj5u.com熱心網友回復:
在getTableData(), 改變
return get_final(df_time)
至
return redirect(url_for("get_final", df_time=df_time))
在get_final(), 改變
@app.route("/tabdata")
def get_final(df_time):
return render_template("new.html",df_time = df_time)
至
@app.route("/tabdata/<df_time>")
def get_final(df_time):
return render_template("new.html", df_time=df_time)
盡管您的重定向 URL 看起來像這樣;“http://localhost/tabdata/16606505”。如果這不是首選,您始終可以使用查詢引數(看起來像這樣;“http://localhost/tabdata&data=16606505”)重定向 GET 請求,或者重定向不會df_time在瀏覽器歷史記錄中顯示引數的 POST 請求。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/522523.html
標籤:Python烧瓶
上一篇:如何使彈出視頻回應于移動設備
