为了给你提供一个可以直接部署的代码,我将使用 Flask 作为后端框架,因为它是一个轻量级的 Web 框架,并且不需要数据库。我们将使用 Flask 的 flask_wtf 扩展来处理表单数据。
以下是一个简单的用户登录系统示例:
- 后端代码
首先,我们需要创建一个 User 类来代表用户,并用于验证用户登录。
from flask_wtf import FlaskForm
from wtforms import StringField, PasswordField, BooleanField
from wtforms.validators import DataRequired, Email, EqualTo
from flask import Flask, render_template, request, redirect, url_for, flash
app = Flask(__name__)
app.secret_key = 'supersecretkey' # 更换为你的随机密钥
class User(FlaskForm):
email = StringField('Email', validators=[DataRequired(), Email()])
password = PasswordField('Password', validators=[DataRequired()])
remember_me = BooleanField('Remember Me')
@app.route('/login', methods=['GET', 'POST'])
def login():
form = User()
if form.validate_on_submit():
# 这里你可以使用你的数据库验证用户
# 例如:从数据库中检查 email 和 password 是否匹配
# 下面的代码只是为了示例而使用硬编码的用户名和密码
email = form.email.data
password = form.password.data
remember_me = form.remember_me.data
if email == 'admin@example.com' and password == 'password123':
flash('Login successful!', 'success')
return redirect(url_for('dashboard'))
else:
flash('Login unsuccessful. Please check your email and/or password.', 'danger')
return render_template('login.html', title='Login', form=form)
@app.route('/dashboard')
def dashboard():
return render_template('dashboard.html', title='Dashboard')
if __name__ == '__main__':
app.run(debug=True)
- 前端代码
我们将使用一个简单的前端页面来处理登录表单。
<!-- login.html -->
<!DOCTYPE html>
<html>
<head>
<title>Login</title>
</head>
<body>
<h1>Login</h1>
{% for message in get_flashed_messages() %}
<p>{{ message }}</p>
{% endfor %}
<form method="POST">
<div class="form-group">
<label for="email">Email:</label>
<input type="email" class="form-control" id="email" name="email" required>
</div>
<div class="form-group">
<label for="password">Password:</label>
<input type="password" class="form-control" id="password" name="password" required>
</div>
<div class="form-check">
<input type="checkbox" class="form-check-input" id="remember_me" name="remember_me">
<label class="form-check-label" for="remember_me">Remember Me</label>
</div>
<button type="submit" class="btn btn-primary">Login</button>
</form>
</body>
</html>
- 静态文件
你可能需要一些静态文件,如 CSS、JavaScript 等。在这个示例中,我将使用 Bootstrap 4 作为简单的 CSS 框架。
首先,从 Bootstrap 4 官网 下载 Bootstrap 的 CSS 和 JavaScript 文件。
将以下文件放在你的项目文件夹中:
bootstrap-4.6.0-dist/css/bootstrap.min.css
bootstrap-4.6.0-dist/js/bootstrap.min.js
然后,在 login.html 文件中引入这些文件:
<head>
<title>Login</title>
<!-- 引入 Bootstrap CSS 文件 -->
<link rel="stylesheet" href="bootstrap-4.6.0-dist/css/bootstrap.min.css">
</head>
<body>
<!-- 省略其他内容 -->
<!-- 引入 Bootstrap JavaScript 文件 -->
<script src="bootstrap-4.6.0-dist/js/bootstrap.min.js"></script>
</body>
- 运行代码
确保你已经安装了 Flask,并且准备好了一个 bootstrap-4.6.0-dist 文件夹,里面有我们之前下载的 Bootstrap 文件。
在你的命令行或终端中,进入到你的项目文件夹,然后运行以下命令:
python app.py
这将启动一个开发服务器,你可以通过访问 http://127.0.0.1:5000/login 来查看和测试你的登录系统。
注意:这个示例只是为了演示如何创建一个简单的登录系统。在实际应用中,你应该使用更安全的验证方法,如查询数据库、使用会话等。而且,你可能需要为应用添加更多功能,如注册、密码重置等。