【发布时间】:2020-11-22 15:58:44
【问题描述】:
我正在使用 Flask 和 Python 创建一个网站服务器程序,我对 Flask 比较陌生。我创建了一个带有 Select 标记的 html 表单(下拉菜单,单选)。你可以看下面的代码。
selectmenu.html
<!doctype html>
<html>
<body>
<form id="form" method="POST" class="selectform">
<select method="GET" size=5>
{% for x in options %}
<option value="{{x}}" SELECTED>{{x}}</option>
{% endfor %}
</select>
<input type="submit" name="go"></input>
</form>
</body>
</html>
Flask 的 Python 代码: app.py
@app.route('/selectmenu',methods=(['GET','POST']))
def selmenu():
optionfiles = os.listdir('options')
form = selectform()
if request.method == 'POST':
selectedoption = form.selectedoption.data
print(selectedoption)
return redirect('/')
return render_template('selectmenu.html',options=optionfiles,form=form)
最后是 Python WTForms 类代码forms.py:
class selectform(FlaskForm):
optionfiles = os.listdir('userdata')
print(optionfiles)
selectedoption = SelectField('selectdropdown', choices=optionfiles,validators=[DataRequired()])
submitbutton = SubmitField('submit',validators=[DataRequired()])
但是当程序调用form.selectoption.data时,它每次都返回None。
我尝试了很多教程和 Stackoverflow 的答案,但仍然无法从不是 None 的表单中获取数据。
注意:如您所知,我只上传了 sn-ps 代码,因为实际文件都大得多!如果您需要代码的任何其他位,例如:导入,那么请询问,但我很确定错误不是导入,例如!否则我会收到 ImportError。
提前感谢您的帮助!
【问题讨论】:
标签: python html python-3.x flask drop-down-menu