在Flask中,可以使用表单来处理动态用户输入,而不需要重定向或重新加载页面。以下是一个简单的示例:
from flask import Flask, render_template, request
app = Flask(__name__)
@app.route('/', methods=['GET', 'POST'])
def index():
if request.method == 'POST':
name = request.form.get('name')
return render_template('result.html', name=name)
return render_template('index.html')
if __name__ == '__main__':
app.run()
在上面的示例中,我们定义了一个基本的Flask应用程序。当用户访问主页时,它会渲染一个包含一个简单表单的模板(index.html
)。该表单具有一个名为name
的输入字段。
当用户提交表单时,会触发POST请求,我们使用request.form.get('name')
来获取用户输入的名字。然后,我们使用render_template
函数渲染一个包含用户输入名字的结果页面(result.html
)。
在结果页面,您可以使用{{ name }}
来显示用户输入的名字。这样,用户输入的名字将在不需要重定向或重新加载的情况下显示在结果页面上。
为了使上述示例正常工作,还需要创建两个模板文件(index.html
和result.html
),并将它们放置在名为templates
的文件夹中。以下是示例模板文件的内容:
index.html
:
result.html
:
Hello, {{ name }}!
这样,当用户在表单输入框中输入名字并提交表单时,Flask应用程序将渲染一个包含用户输入名字的结果页面,而无需重定向或重新加载页面。