我们提供一站式网上办事大厅招投标所需全套资料,包括师生办事大厅介绍PPT、一网通办平台产品解决方案、
师生服务大厅产品技术参数,以及对应的标书参考文件,详请联系客服。
大家好,今天咱们聊聊怎么给学校做一个“一网通办师生服务大厅”以及它的代理商系统。这事儿听起来挺高大上的,但其实用Python搭起来也挺简单的。
首先,咱们得有个数据库来存储用户信息。这里我用的是SQLite,因为轻便又适合小项目。先创建个表:

import sqlite3
conn = sqlite3.connect('school.db')
cursor = conn.cursor()
cursor.execute('''
CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
username TEXT NOT NULL UNIQUE,
password TEXT NOT NULL,
role TEXT CHECK(role IN ('student', 'teacher', 'agent'))
);
''')
conn.commit()
conn.close()
这段代码建立了个数据库,并定义了三个角色:学生、教师和代理商。接下来是登录功能。当用户输入用户名和密码时,我们需要验证它们是否匹配数据库中的记录。
def login(username, password):
conn = sqlite3.connect('school.db')
cursor = conn.cursor()
cursor.execute("SELECT * FROM users WHERE username=? AND password=?", (username, password))
user = cursor.fetchone()
conn.close()
if user:
print(f"欢迎 {user[1]} 登录!")
return True
else:
print("用户名或密码错误!")
return False
然后就是代理商系统的部分了。代理商需要管理他们的客户,所以我们可以再加一个功能,比如查看某个代理商下的所有学生。
def get_students_by_agent(agent_username):
conn = sqlite3.connect('school.db')
cursor = conn.cursor()
cursor.execute("""
SELECT u.username
FROM users u
JOIN agents a ON u.id = a.student_id
WHERE a.agent_id = (
SELECT id FROM users WHERE username=?
)
""", (agent_username,))
students = cursor.fetchall()
conn.close()
return [s[0] for s in students]
最后,别忘了保护数据安全,比如对密码进行加密处理。可以使用`bcrypt`库来实现:
pip install bcrypt

import bcrypt
def hash_password(password):
salt = bcrypt.gensalt()
hashed = bcrypt.hashpw(password.encode(), salt)
return hashed
def check_password(hashed, password):
return bcrypt.checkpw(password.encode(), hashed)
总结一下,咱们做了个简单版的师生服务大厅和代理商管理系统。虽然简化了很多细节,但核心功能都具备了。希望这个例子能给大家一些启发!