第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

強制 Flask 在函數(shù)執(zhí)行前等待表單提交事件

強制 Flask 在函數(shù)執(zhí)行前等待表單提交事件

梵蒂岡之花 2022-11-09 16:32:22
我正在構(gòu)建我的第一個 Flask 應(yīng)用程序,并擁有以下帶有路由的應(yīng)用程序:from flask import Flask, render_template, request from dbConnect import get_config_tablesimport pandas  app = Flask(__name__)@app.route('/config', methods=["POST", "GET"])def config_reader():    ID = request.form.get("ID")    inputID = 12036    result = get_config_tables(inputID)    df = result.head(10)    return render_template('config.html',  inputID = ID, tables=[df.to_html(classes='data', header = "true")])if __name__ == '__main__':    app.run(debug=True)該函數(shù)get_config_tables是我編寫的一個 python 函數(shù),它與 SQL Server 通信并獲取一些表。當(dāng)我將函數(shù)硬編碼inputID到get_config_tablesFlask 應(yīng)用程序中按預(yù)期運行時,HTML 按預(yù)期打印到屏幕上。但是,當(dāng)我嘗試傳遞值時,我得到了ID錯誤get_config_tables(ID)。我認(rèn)為Flask 試圖在傳遞 ID 值之前執(zhí)行我的函數(shù),但由于該函數(shù)需要輸入值,因此在輸入有效值之前它將失敗。有沒有辦法可以強制 Flask 等待執(zhí)行該函數(shù)get_config_tables,直到單擊提交事件按鈕?如果需要任何進一步的信息來更好地理解我的問題,我很樂意提供。對應(yīng)的 HTML 是:{% extends "layout.html" %}{% block body %}<h6>Get a config table<br><br><form action = "{{url_for('config_reader')}}" method = "POST">    <input type = "text" name = "ID" placeholder = "Enter a confid ID">    <button> Submit </button>You entered {{inputID}}.<hline><br><br>The results are:<br></h6> <small><center>{% for table in tables %}            {{ table|safe }}{% endfor %}</center></small>{% endblock %}
查看完整描述

1 回答

?
忽然笑

TA貢獻1806條經(jīng)驗 獲得超5個贊

在我看來,即使沒有 ID,您也在使用此頁面,因為您的表格與表格位于同一頁面上。


這意味著不是每次您的端點被命中時,都會隨請求發(fā)送一個 ID,您會看到您還注冊了一個 GET 方法。通常,該 ID 不會出現(xiàn)在該請求中。


因此,您需要檢查此 id 是否確實存在,然后才嘗試發(fā)送您的表數(shù)據(jù)。


所以我能想出的最幼稚的方法就是使用 if 語句來檢查 id 是否存在。


@app.route('/config', methods=["POST", "GET"])

def config_reader():

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


    t = get_config_tables(ID).head(10).to_html(

        classes='data', header = "true"

    ) if ID else '<table></table>'


    return render_template('config.html',  inputID = ID, tables= [t])


我沒有對此進行測試,但這是如何檢查 id 的要點。


查看完整回答
反對 回復(fù) 2022-11-09
  • 1 回答
  • 0 關(guān)注
  • 118 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號