1、设计一个注册和登录功能,自定义一个登陆验证的控制器,实现正确登陆跳转至欢迎页面,错误登陆跳转至注册页面的基本功能。
时间: 2024-01-21 09:17:38 浏览: 78
这里提供一个基于 Flask 框架的简单实现:
1. 首先需要安装 Flask:`pip install flask`
2. 在项目目录下创建一个名为 `app.py` 的文件,并添加以下代码:
```python
from flask import Flask, render_template, request, redirect
app = Flask(__name__)
# 定义一个用户类,用于存储用户信息
class User:
def __init__(self, username, password):
self.username = username
self.password = password
# 存储已注册的用户信息
users = []
# 注册路由
@app.route('/register', methods=['GET', 'POST'])
def register():
if request.method == 'POST':
username = request.form['username']
password = request.form['password']
# 判断用户名是否已存在
for user in users:
if user.username == username:
return render_template('register.html', error='用户名已存在')
# 将用户信息存储到 users 列表中
users.append(User(username, password))
return redirect('/login')
return render_template('register.html')
# 登录路由
@app.route('/login', methods=['GET', 'POST'])
def login():
if request.method == 'POST':
username = request.form['username']
password = request.form['password']
# 判断用户名和密码是否正确
for user in users:
if user.username == username and user.password == password:
return render_template('welcome.html', username=username)
return render_template('login.html', error='用户名或密码错误')
return render_template('login.html')
if __name__ == '__main__':
app.run(debug=True)
```
3. 在项目目录下创建一个名为 `templates` 的文件夹,并在其中创建以下三个 HTML 模板文件:
`register.html`:
```html
<!DOCTYPE html>
<html>
<head>
<title>注册</title>
</head>
<body>
<h1>注册</h1>
{% if error %}
<p style="color: red;">{{ error }}</p>
{% endif %}
<form method="post" action="/register">
<label>用户名:</label>
<input type="text" name="username"><br>
<label>密码:</label>
<input type="password" name="password"><br>
<input type="submit" value="注册">
</form>
</body>
</html>
```
`login.html`:
```html
<!DOCTYPE html>
<html>
<head>
<title>登录</title>
</head>
<body>
<h1>登录</h1>
{% if error %}
<p style="color: red;">{{ error }}</p>
{% endif %}
<form method="post" action="/login">
<label>用户名:</label>
<input type="text" name="username"><br>
<label>密码:</label>
<input type="password" name="password"><br>
<input type="submit" value="登录">
</form>
</body>
</html>
```
`welcome.html`:
```html
<!DOCTYPE html>
<html>
<head>
<title>欢迎</title>
</head>
<body>
<h1>欢迎,{{ username }}!</h1>
</body>
</html>
```
4. 在命令行中运行 `python app.py` 启动应用,然后在浏览器中访问 `http://127.0.0.1:5000/register` 即可打开注册页面进行注册。注册成功后会跳转至登录页面,输入正确的用户名和密码即可跳转至欢迎页面。如果输入错误的用户名或密码,则会重新跳转至登录页面并显示错误信息。
阅读全文