python flask以post方式跳转网页并传递参数
时间: 2023-04-03 19:03:44 浏览: 146
Python flask框架post接口调用示例
5星 · 资源好评率100%
可以使用 Flask 中的 redirect 和 url_for 函数来实现以 POST 方式跳转网页并传递参数。具体实现方法可以参考以下代码:
```python
from flask import Flask, redirect, url_for, request
app = Flask(__name__)
@app.route('/login', methods=['POST'])
def login():
username = request.form['username']
password = request.form['password']
# 验证用户名和密码
if username == 'admin' and password == '123456':
# 登录成功,跳转到首页并传递参数
return redirect(url_for('index', username=username))
else:
# 登录失败,返回登录页面
return redirect(url_for('login_page'))
@app.route('/')
def index():
username = request.args.get('username')
return f'欢迎您,{username}!'
@app.route('/login')
def login_page():
return '''
<form method="post" action="/login">
<input type="text" name="username" placeholder="用户名"><br>
<input type="password" name="password" placeholder="密码"><br>
<button type="submit">登录</button>
</form>
'''
if __name__ == '__main__':
app.run()
```
在上面的代码中,我们定义了一个 `/login` 路由,用于处理用户登录请求。当用户提交登录表单时,我们会获取表单中的用户名和密码,进行验证。如果验证通过,我们就使用 `redirect` 函数跳转到首页,并使用 `url_for` 函数生成首页的 URL,并在 URL 中传递用户名参数。如果验证失败,我们就使用 `redirect` 函数跳转回登录页面。
在首页的路由中,我们使用 `request.args.get` 方法获取 URL 中传递的参数,并在页面中显示欢迎消息。
在登录页面的路由中,我们定义了一个简单的 HTML 表单,用于让用户输入用户名和密码,并提交登录请求。注意,我们在表单中指定了 `method="post"`,表示这是一个 POST 请求。当用户点击登录按钮时,表单数据会被提交到 `/login` 路由中。
阅读全文