TypeError: int() 參數(shù)必須是字符串、類似字節(jié)的對象或數(shù)字,而不是 'IntegerField' 這里是錯誤from flask import Flask, render_templatefrom wtforms import IntegerField, SubmitFieldfrom flask_wtf import FlaskFormimport datetimeapp = Flask(__name__)app.config['SECRET_KEY'] = 'alex'class Calculator(FlaskForm): Year = IntegerField('Year') Month = IntegerField('Month') Day = IntegerField('Day') submit = SubmitField('Calculate')tdy = datetime.date.today()@app.route("/")@app.route("/home")def home(): return render_template('home.html')@app.route("/about")def about(): return render_template('about.html')@app.route("/Calculator", methods=['GET', 'POST'])def days(): form = Calculator() return render_template('calculator.html', form=form)@app.route('/HURRAY', methods=['GET'])def ura(): form = Calculator() y = int(form.Year) m = int(form.Month) d = int(form.Day) till_bday = tdy - datetime.date(y, m, d) return render_template('HURRAY.html', till_bday = till_bday)if __name__ == '__main__': app.run()整個應(yīng)用程序的想法如下:您有一個表單,在與 WTFORMS 一起使用的 IntegerField 中輸入 YEAR MONTH 和 DAY,當(dāng)您在該頁面上單擊 SUBMIT 時,您將被重定向到顯示結(jié)果的頁面。這聽起來很簡單,直到我意識到我不知道如何將我的 IntegerField 數(shù)據(jù)放在一個整數(shù)變量中,我可以計算并通過我的 HTML 文件....
1 回答

冉冉說
TA貢獻1877條經(jīng)驗 獲得超1個贊
正如您所指出的,您不希望表單的字段本身,您希望將數(shù)據(jù)與發(fā)布請求一起發(fā)送。
在“/calculator”頁面上,當(dāng)您單擊提交時,會向您的服務(wù)器發(fā)送一個發(fā)布請求,其中包含表單中每個字段的值的數(shù)據(jù)?,F(xiàn)在我不確定它在 Flask 中是如何工作的,但你想找到:
此請求已發(fā)送到您服務(wù)器中的哪個路由?(在這種情況下可能是“/calculator”,這似乎是唯一接受 POST 請求的路由)
在此路由中,您如何訪問發(fā)送給它的請求以及隨它發(fā)送的數(shù)據(jù)?
我建議您首先清楚地了解這些 HTTP 請求是如何工作的(主要是 GET 和 POST)以及它們在您的應(yīng)用程序中的發(fā)送/接收方式和位置。
添加回答
舉報
0/150
提交
取消