这是我在 Flask 中用 Python 编写的代码的一部分
...output += '''<div class = recsettings>
Recording
<div class = recduration>
change recording duration here
<form method ='POST'>
<input placeholder = 'duration' name='duration' id ='duration'> <---HERE
<button type ='submit' action ='/duration'>Submit</button>
</form>...'''
我现在想在另一种方法中单击提交时获取占位符的输入。重定向到 /duration 显然不起作用,也不知道如何修复它
@app.route('/duration', methods=['GET', 'POST'])
def duration():
tst = request.form.get("placeholder"); <---- Something like this
print (tst)
return redirect(url_for('settings'))
必须没有php
我能够使用 Flask-WTF 表单访问占位符值。有一个名为
render_kw
的属性保存占位符值。
@app.route('/formz')
def formz():
form = MyForm()
print(form.some_field.render_kw) # <=== property with the placeholder value
return render_template('formz.html', form=form)
这里是更多上下文的表单类
from flask_wtf import FlaskForm
from wtforms import StringField
from wtforms.validators import DataRequired
class MyForm(FlaskForm):
name = StringField('name', validators=[DataRequired()])
some_field = StringField('abc', render_kw={"placeholder": "testomondo"})
以及加载路线时的控制台输出
$ python -m flask --app run run
* Serving Flask app 'run'
* Debug mode: off
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Running on http://127.0.0.1:5000
Press CTRL+C to quit
{'placeholder': 'testomondo'}
127.0.0.1 - - [05/Mar/2024 15:25:49] "GET /formz HTTP/1.1" 200 -
因此,即使您要查看请求对象,也只需深入到表单并访问 render_kw 属性!希望这有帮助!