Dav*_*ler 3 python flask wtforms
我想要做的是在5个不同的字段上获取用户输入,然后让用户输入的内容可用于我在python中的其余程序中.我到目前为止的代码如下所示:
class ArtistsForm(Form):
artist1 = StringField('Artist 1', validators=[DataRequired()])
artist2 = StringField('Artist 2', validators=[DataRequired()])
artist3 = StringField('Artist 3', validators=[DataRequired()])
artist4 = StringField('Artist 4', validators=[DataRequired()])
artist5 = StringField('Artist 5', validators=[DataRequired()])
@app.route('/', methods=('GET', 'POST'))
def home():
form = ArtistsForm(csrf_enabled=False)
if form.validate_on_submit():
return redirect('/results')
return render_template('home.html', form=form)
@app.route('/results', methods=('GET', 'POST'))
def results():
artist1 = request.form['artist1']
artist2 = request.form['artist2']
artist3 = request.form['artist3']
artist4 = request.form['artist4']
artist5 = request.form['artist5']
return render_template('results.html')
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?(我知道csrf_enabled = False很糟糕,我现在只是为了测试它.)我想要一个低于此功能的值,做一些计算(没有web方面).
编辑:我更新了上面的代码.我能够获得值.现在我只需将它们传递给下面的函数.
您需要填充某种数据结构,如变量,列表或字典,然后将其传递给python函数.然后,需要将python函数的返回/结果作为要在结果模板中呈现的上下文参数传递.
例:
@app.route('/', methods=('GET', 'POST'))
def home():
form = ArtistsForm(request.POST, csrf_enabled=False)
if form.validate_on_submit():
art1 = form.artist1.data
art2 = form.artist2.data
result = computate_uncertainty(art1, art2)
return render_template('results.html', result=result)
return render_template('home.html', form=form)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6206 次 |
| 最近记录: |