背景介绍
本项目旨在开发一个基于Python的网页注册/登录系统,用户需输入用户名和密码,系统验证后显示注册成功信息。该功能需要实现以下核心功能:
- 用户输入验证:验证用户名和密码是否符合规则(如长度、字符限制)
- 文件读取与处理:读取本地用户信息文件
- 动态显示信息:使用HTML模板展示注册成功信息
- GUI响应机制:通过HTML模板实现用户界面交互
思路分析
核心技术点
- 文件读写:使用Python的
open()函数读取本地CSV文件(如user_info.csv) - 数据验证:通过条件判断检查用户名和密码是否符合格式要求
- 动态展示:将验证结果以HTML模板中的占位符形式输出
- 用户交互:通过HTML模板实现界面响应
技术实现
1. Python代码实现
import csv
def validate_user_info(username, password):
# 读取本地用户信息文件
user_info = []
with open("user_info.csv", "r") as file:
reader = csv.reader(file)
for row in reader:
if row:
username = row[0]
password = row[1]
user_info.append((username, password))
# 验证输入规则
if not username.isdigit() or len(username) < 5 or len(password) < 6:
raise ValueError("用户名必须是数字,且长度至少为5位;密码至少6位字符")
return username, password
def display_success_message(username, password):
html_output = f"""
<div>
<h2>注册成功</h2>
<p>用户名:{{ username }}</p>
<p>密码:{{ password }}</p>
</div>
"""
return html_output
# 示例输入
user_info = {
"username": "user123",
"password": "password123"
}
# 验证并显示成功信息
username, password = validate_user_info(user_info["username"], user_info["password"])
success_html = display_success_message(username, password)
# 输出结果
print(success_html)
2. HTML模板实现
<div>
<h2>注册成功</h2>
<p>用户名:<strong>{{ username }}</strong></p>
<p>密码:<strong>{{ password }}</strong></p>
</div>
代码实现
读取用户信息文件
import csv
def validate_user_info(username, password):
# 读取本地用户信息文件
user_info = []
with open("user_info.csv", "r") as file:
reader = csv.reader(file)
for row in reader:
if row:
username = row[0]
password = row[1]
user_info.append((username, password))
# 验证输入规则
if not username.isdigit() or len(username) < 5 or len(password) < 6:
raise ValueError("用户名必须是数字,且长度至少为5位;密码至少6位字符")
return username, password
动态展示注册信息
def display_success_message(username, password):
html_output = f"""
<div>
<h2>注册成功</h2>
<p>用户名:<strong>{{ username }}</strong></p>
<p>密码:<strong>{{ password }}</strong></p>
</div>
"""
return html_output
总结
本项目通过Python实现了一个完整的网页注册/登录系统,涉及以下几个关键技术点:
- 文件读写:使用Python的
open()函数读取本地CSV文件 - 数据验证:通过条件判断验证用户名和密码的格式要求
- 动态展示:使用HTML模板实现信息的可视化展示
- 用户交互:通过HTML模板实现界面响应机制
该项目在2~3天内完成,具有良好的技术学习价值。学习过程中掌握了文件处理、数据验证、GUI设计等核心技能。