为了给你提供一个可以直接部署的代码,我将使用 Flask 作为后端框架,因为它是一个轻量级的 Web 框架,并且不需要数据库。我们将使用 Flask 的 flask_wtf 扩展来处理表单数据。
以下是一个简单的用户登录系统示例:
- 后端代码
首先,我们需要创建一个 User 类来代表用户,并用于验证用户登录。
from flask_wtf import FlaskFormfrom wtforms import StringField, PasswordField, BooleanFieldfrom wtforms.validators import DataRequired, Email, EqualTofrom flask import Flask, render_template, request, redirect, url_for, flashapp = 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.datapassword = form.password.dataremember_me = form.remember_me.dataif 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 来查看和测试你的登录系统。
注意:这个示例只是为了演示如何创建一个简单的登录系统。在实际应用中,你应该使用更安全的验证方法,如查询数据库、使用会话等。而且,你可能需要为应用添加更多功能,如注册、密码重置等。
