Я создаю программу сервера веб-сайтов с Flask и Python, я относительно новичок в Flask. Я создал форму html с тегом Select (раскрывающееся меню, одиночный выбор). Вы можете увидеть код ниже.
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>
Код Python для Flask: 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
.
ПРИМЕЧАНИЕ. Как вы понимаете, я загрузил только фрагменты кода, так как сами файлы намного больше! Если вам нужны другие фрагменты кода, например: импорт, спросите, но я почти уверен, что ошибка, например, не в импорте! В противном случае я получил бы ошибку ImportError.
Заранее благодарим вас за помощь!