flask制作网页登陆界面
时间: 2023-10-10 08:10:27 浏览: 110
以下是一个简单的Flask网页登陆界面的示例代码:
```python
from flask import Flask, render_template, request, redirect, url_for
app = Flask(__name__)
# 用一个字典来模拟一个用户数据库
users = {'admin': 'password', 'guest': 'guest'}
@app.route('/')
def index():
return render_template('login.html')
@app.route('/login', methods=['POST'])
def login():
# 获取用户输入的用户名和密码
username = request.form['username']
password = request.form['password']
# 验证用户名和密码是否正确
if username in users and users[username] == password:
# 如果验证通过,跳转到欢迎页面
return redirect(url_for('welcome', username=username))
else:
# 如果验证失败,返回登陆页面并显示错误信息
error = '用户名或密码错误,请重新输入!'
return render_template('login.html', error=error)
@app.route('/welcome/<username>')
def welcome(username):
return render_template('welcome.html', username=username)
if __name__ == '__main__':
app.run(debug=True)
```
上述代码中,我们使用了Flask框架的`render_template`函数来渲染HTML模板。在`/`路由下,我们渲染了一个登陆页面,并在`/login`路由下接收用户提交的表单数据,验证用户名和密码是否正确。如果验证通过,我们使用`redirect`函数跳转到欢迎页面,并将用户名作为参数传递过去。如果验证失败,我们将错误信息传递给模板,显示给用户。
登陆页面的HTML模板可以像这样:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>登陆</title>
</head>
<body>
{% if error %}
<p>{{ error }}</p>
{% endif %}
<form action="{{ url_for('login') }}" method="post">
<label>用户名:<input type="text" name="username"></label><br>
<label>密码:<input type="password" name="password"></label><br>
<input type="submit" value="登陆">
</form>
</body>
</html>
```
欢迎页面的HTML模板可以像这样:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>欢迎</title>
</head>
<body>
<h1>欢迎 {{ username }}!</h1>
</body>
</html>
```
这是一个简单的Flask网页登陆界面示例,你可以在此基础上进行扩展和优化。
阅读全文