python实现登录注册页面
时间: 2023-12-04 17:04:58 浏览: 28
好的,下面是一个简单的Python登录注册页面的实现示例。
首先,我们需要安装 Flask,可以使用以下命令进行安装:
```
pip install flask
```
然后,我们创建一个名为 `app.py` 的 Python 文件,并编写以下代码:
```python
from flask import Flask, render_template, request, redirect, url_for
app = Flask(__name__)
users = []
@app.route('/')
def index():
return render_template('index.html')
@app.route('/register', methods=['GET', 'POST'])
def register():
if request.method == 'POST':
username = request.form['username']
password = request.form['password']
confirm_password = request.form['confirm_password']
if password != confirm_password:
return render_template('register.html', error='Passwords do not match')
user = {'username': username, 'password': password}
users.append(user)
return redirect(url_for('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 redirect(url_for('welcome', username=username))
return render_template('login.html', error='Invalid credentials')
return render_template('login.html')
@app.route('/welcome/<username>')
def welcome(username):
return render_template('welcome.html', username=username)
if __name__ == '__main__':
app.run(debug=True)
```
在上面的代码中,我们首先创建了一个 Flask 应用程序对象。然后,我们定义了一个名为 `users` 的列表,用于存储注册的用户信息。
接下来,我们定义了三个路由函数:
- `index` 函数用于渲染主页,即登录页面。
- `register` 函数用于处理注册请求。如果请求方法为 POST,则从表单中获取用户名、密码和确认密码,如果密码与确认密码不匹配,则返回注册页面并显示错误信息;否则,将用户信息添加到 `users` 列表中,并重定向到登录页面。如果请求方法为 GET,则渲染注册页面。
- `login` 函数用于处理登录请求。如果请求方法为 POST,则从表单中获取用户名和密码,然后在 `users` 列表中查找用户信息。如果找到匹配的用户,则重定向到欢迎页面,并将用户名作为 URL 参数传递。否则,返回登录页面并显示错误信息。如果请求方法为 GET,则渲染登录页面。
- `welcome` 函数用于渲染欢迎页面,并显示用户名。
最后,我们使用 `app.run()` 方法启动应用程序,并将 `debug` 参数设置为 `True`,以便在开发过程中捕获调试信息。
接下来,我们需要创建四个 HTML 模板文件,分别为 `index.html`、`register.html`、`login.html` 和 `welcome.html`。这些模板文件可以放置在 `templates` 目录下。
下面是 `index.html` 的示例代码:
```html
<!DOCTYPE html>
<html>
<head>
<title>Login</title>
</head>
<body>
<h1>Login</h1>
<form action="{{ url_for('login') }}" method="POST">
<label>Username:</label>
<input type="text" name="username" required><br>
<label>Password:</label>
<input type="password" name="password" required><br>
<input type="submit" value="Login">
</form>
<p>Don't have an account? <a href="{{ url_for('register') }}">Register here</a></p>
</body>
</html>
```
下面是 `register.html` 的示例代码:
```html
<!DOCTYPE html>
<html>
<head>
<title>Register</title>
</head>
<body>
<h1>Register</h1>
{% if error %}
<p style="color: red;">{{ error }}</p>
{% endif %}
<form action="{{ url_for('register') }}" method="POST">
<label>Username:</label>
<input type="text" name="username" required><br>
<label>Password:</label>
<input type="password" name="password" required><br>
<label>Confirm Password:</label>
<input type="password" name="confirm_password" required><br>
<input type="submit" value="Register">
</form>
<p>Already have an account? <a href="{{ url_for('login') }}">Login here</a></p>
</body>
</html>
```
下面是 `login.html` 的示例代码:
```html
<!DOCTYPE html>
<html>
<head>
<title>Login</title>
</head>
<body>
<h1>Login</h1>
{% if error %}
<p style="color: red;">{{ error }}</p>
{% endif %}
<form action="{{ url_for('login') }}" method="POST">
<label>Username:</label>
<input type="text" name="username" required><br>
<label>Password:</label>
<input type="password" name="password" required><br>
<input type="submit" value="Login">
</form>
<p>Don't have an account? <a href="{{ url_for('register') }}">Register here</a></p>
</body>
</html>
```
下面是 `welcome.html` 的示例代码:
```html
<!DOCTYPE html>
<html>
<head>
<title>Welcome</title>
</head>
<body>
<h1>Welcome, {{ username }}!</h1>
<p>You have successfully logged in.</p>
<p><a href="{{ url_for('login') }}">Logout</a></p>
</body>
</html>
```
现在,我们可以运行 `app.py` 文件,并在浏览器中访问 `http://localhost:5000/`,即可看到登录页面。从这里开始,您可以在浏览器中进行注册和登录操作,并访问欢迎页面。
希望这个简单的示例能够帮助您实现Python登录注册页面。