首页 > 解决方案 > 如何创建计算后返回值的 WTF 表单和烧瓶?

问题描述

尝试创建一种使用 WTFforms 进行计算的方法,例如在我输入两个值后返回加法

如何在表单中获取两个值并进行计算并返回一个值?谢谢

请看代码

主要的

from flask import Flask, render_template

from flask_wtf import Form 
from wtforms import TextField, PasswordField
from wtforms.validators import InputRequired
from bs4 import BeautifulSoup as soup
import urllib.request
import pandas as pd
import pandas_datareader as pdr
from pandas import ExcelWriter



app = Flask(__name__)
app.config['SECRET_KEY'] = 'DontTellAnyone'

class LoginForm(Form):
    TextField = TextField('Stock', validators=[InputRequired()])
    password = PasswordField('password', validators=[InputRequired()])

@app.route('/', methods=['GET', 'POST'])
def index():
    form = LoginForm()
    list = ['TextField']
    list_value = list[0]
    if form.validate_on_submit():
     
        a = print ('a2')
        #return a
    return render_template('index.html', form=form)


if __name__ == '__main__':
    app.run(debug=True)


#index.html

    
{% from "_formhelpers.html" import render_field %}
<html>
<head>
<title>WTForms</title>
</head>
<body>
    <form method="POST" action="/">
       <dl>
        {{ form.csrf_token }}
        {{ render_field(form.TextField) }}
        {{ render_field(form.password) }}
        <input type="submit" value="Earnings">
        </dl>
    </form>
</body>
</html>

标签: pythonflask-wtforms

解决方案


您可以在 a 上定义一个Form可以访问其自身属性的方法,就像您可以在 Python 中访问任何对象一样。

例如,:

from wtforms import Form, IntegerField


class MyForm(Form):
    a = IntegerField('A')
    b = IntegerField('B')

    def a_plus_b(self):
        return self.a.data + self.b.data


if __name__ == "__main__":
    form = MyForm(a=1, b=2)
    print(form.a_plus_b())  # 3

推荐阅读