python登录后跳转主界面
时间: 2023-07-28 12:50:44 浏览: 55
要实现登录后跳转主界面,可以采用以下步骤:
1. 用户在登录页面输入用户名和密码,点击登录按钮。
2. 服务器接收到请求,验证用户名和密码是否正确,如果正确则将用户信息保存在 session 中。
3. 服务器返回登录成功的响应,将用户重定向到主界面的 URL。
4. 主界面的 URL 接收到请求,检查 session 中是否存在用户信息,如果存在则显示主界面,否则重定向到登录页面。
以下是一个简单的示例代码:
```python
from flask import Flask, render_template, request, redirect, url_for, session
app = Flask(__name__)
app.secret_key = 'your secret key'
@app.route('/')
def index():
if 'username' in session:
return render_template('main.html')
else:
return redirect(url_for('login'))
@app.route('/login', methods=['GET', 'POST'])
def login():
if request.method == 'POST':
username = request.form['username']
password = request.form['password']
if username == 'admin' and password == '123456':
session['username'] = username
return redirect(url_for('index'))
else:
return render_template('login.html', error='用户名或密码错误')
else:
return render_template('login.html')
@app.route('/logout')
def logout():
session.pop('username', None)
return redirect(url_for('index'))
if __name__ == '__main__':
app.run()
```
其中,`index` 函数检查 session 中是否存在用户名,如果存在则返回主界面,否则重定向到登录页面。`login` 函数处理登录请求,验证用户名和密码是否正确,如果正确则将用户名保存在 session 中,重定向到主界面。`logout` 函数清除 session 中保存的用户名,重定向到主界面。在模板文件中,可以根据 session 中是否存在用户名来显示不同的内容。