写好了登录界面,怎么写后端登录验证,登陆后跳转到index.html
时间: 2024-04-13 07:30:54 浏览: 18
要实现后端登录验证并在登录成功后跳转到`index.html`页面,你可以按照以下步骤进行修改:
1. 首先,在你的项目中添加一个路由处理登录请求的函数,比如`login()`函数。
```python
@app.route('/login', methods=['POST'])
def login():
# 获取登录表单提交的用户名和密码
username = request.form.get('username')
password = request.form.get('password')
# 进行登录验证的逻辑处理
if username == 'admin' and password == 'password':
# 登录验证通过,将用户信息存储到session中
session['username'] = username
return redirect(url_for('index')) # 登录成功后跳转到index页面
else:
# 登录验证失败,返回登录页面或错误提示
return render_template('login.html', error='用户名或密码错误')
```
2. 修改`login.html`模板,添加一个表单用于用户输入用户名和密码,并将表单的提交目标设置为`/login`。
```html
<form action="/login" method="post">
<input type="text" name="username" placeholder="用户名">
<input type="password" name="password" placeholder="密码">
<button type="submit">登录</button>
</form>
```
3. 在`index()`函数中添加登录状态的检查,如果用户未登录,则重定向到登录页面。
```python
@app.route('/')
def index():
if 'username' not in session:
return redirect(url_for('login')) # 用户未登录,跳转到登录页面
else:
data = SourceData()
return render_template('index.html', form=data, title=data.title)
```
这样,当用户访问根路径时,如果用户未登录,则会重定向到登录页面;如果用户已登录,则会显示`index.html`页面。
请注意,以上代码只是一个示例,实际应用中可能需要更多的安全性和逻辑处理来完善登录验证功能。