flask 登录跳转 小工程
时间: 2023-08-15 18:05:27 浏览: 41
好的,我可以帮你实现一个基于 Flask 的简单登录跳转小工程。以下是实现的步骤:
1. 创建 Flask 应用程序实例
```python
from flask import Flask, render_template, request, redirect, url_for
app = Flask(__name__)
app.secret_key = 'your_secret_key'
```
2. 创建登录页面
```python
@app.route('/')
def login():
return render_template('login.html')
```
3. 创建验证登录的路由
```python
@app.route('/verify', methods=['POST'])
def verify():
username = request.form['username']
password = request.form['password']
# 在这里可以验证用户名和密码是否正确,这里只是简单的判断
if username == 'admin' and password == 'password':
# 登录成功,将用户信息保存到 session 中并跳转到首页
session['username'] = username
return redirect(url_for('index'))
else:
# 登录失败,跳转回登录页
return redirect(url_for('login'))
```
4. 创建首页路由,如果用户未登录则跳转回登录页
```python
@app.route('/index')
def index():
if 'username' in session:
return render_template('index.html', username=session['username'])
else:
return redirect(url_for('login'))
```
5. 创建退出登录的路由
```python
@app.route('/logout')
def logout():
# 从 session 中删除用户信息并跳转回登录页
session.pop('username', None)
return redirect(url_for('login'))
```
6. 创建 HTML 模板文件,包括登录页面和首页
login.html:
```html
<!DOCTYPE html>
<html>
<head>
<title>Login</title>
</head>
<body>
<h1>Login</h1>
<form method="POST" action="{{ url_for('verify') }}">
<input type="text" name="username" placeholder="Username">
<input type="password" name="password" placeholder="Password">
<input type="submit" value="Login">
</form>
</body>
</html>
```
index.html:
```html
<!DOCTYPE html>
<html>
<head>
<title>Home</title>
</head>
<body>
<h1>Welcome {{ username }}!</h1>
<a href="{{ url_for('logout') }}">Logout</a>
</body>
</html>
```
这样就完成了一个简单的 Flask 登录跳转小工程。当用户访问首页时,如果未登录则会跳转回登录页,输入正确的用户名和密码后跳转到首页,点击退出按钮可以退出登录。