大家好!今天我要跟大家聊聊如何用Python开发一个校园宿舍管理系统的App。这个系统可以帮助学生轻松查看宿舍分配情况,管理员也可以方便地管理宿舍信息。
首先,我们需要一些基本的东西。我会用到Python的Flask框架来搭建后端服务,用SQLite数据库来存储数据。前端的话,我们可以使用HTML+CSS+JavaScript来实现简单的页面展示。

先说一下我们的需求吧。这个系统需要有以下功能:
1. 用户注册和登录。
2. 管理员可以添加、删除宿舍。
3. 学生可以查看自己的宿舍信息。
第一步,我们来设置Flask环境。如果你没有安装Flask,可以用pip install flask命令安装它。然后创建一个app.py文件,这是我们的主程序入口。
from flask import Flask, render_template, request, redirect, url_for, session
import sqlite3
app = Flask(__name__)
app.secret_key = 'your_secret_key'
# 初始化数据库
def init_db():
conn = sqlite3.connect('dormitory.db')
c = conn.cursor()
c.execute('''CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
username TEXT NOT NULL UNIQUE,
password TEXT NOT NULL)''')
c.execute('''CREATE TABLE IF NOT EXISTS dormitories (
id INTEGER PRIMARY KEY AUTOINCREMENT,
room_number TEXT NOT NULL UNIQUE,
capacity INTEGER NOT NULL)''')
conn.commit()
conn.close()
@app.route('/')
def index():
if 'username' in session:
return f"欢迎 {session['username']}!"
return "请先登录"
@app.route('/login', methods=['GET', 'POST'])
def login():
if request.method == 'POST':
username = request.form['username']
password = request.form['password']
conn = sqlite3.connect('dormitory.db')
c = conn.cursor()
c.execute("SELECT * FROM users WHERE username=? AND password=?", (username, password))
user = c.fetchone()
conn.close()
if user:
session['username'] = username
return redirect(url_for('index'))
else:
return "用户名或密码错误"
return '''
'''
@app.route('/logout')
def logout():
session.pop('username', None)
return redirect(url_for('index'))
if __name__ == '__main__':
init_db()
app.run(debug=True)
这段代码实现了基本的用户登录功能。我们创建了一个users表来存储用户的用户名和密码,并且有一个简单的登录页面让用户输入信息。
接下来,我们要让管理员能够管理宿舍信息。我们可以添加一个管理界面,允许管理员添加新的宿舍或者修改现有的宿舍信息。
@app.route('/add_dormitory', methods=['GET', 'POST'])
def add_dormitory():
if 'username' in session and session['username'] == 'admin': # 假设admin是唯一管理员账号
if request.method == 'POST':
room_number = request.form['room_number']
capacity = int(request.form['capacity'])
conn = sqlite3.connect('dormitory.db')
c = conn.cursor()
try:
c.execute("INSERT INTO dormitories (room_number, capacity) VALUES (?, ?)", (room_number, capacity))
conn.commit()
return "宿舍添加成功!"
except sqlite3.IntegrityError:
return "该宿舍号已存在,请检查后重试。"
finally:
conn.close()
return '''
'''
return "你不是管理员,无权访问此页面。"
以上就是我们用Python Flask框架搭建的一个简单校园宿舍管理系统的核心部分。通过这些代码,你可以让学生们注册登录并查看宿舍信息,同时让管理员能轻松管理宿舍信息。
好了,这就是整个系统的大概实现过程了。当然,实际项目中还需要考虑更多的细节,比如安全性、用户体验等。不过希望这篇文章能给你带来一些灵感!
再见啦,祝你编程愉快!
