大家好!今天我要跟大家聊聊如何用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框架搭建的一个简单校园宿舍管理系统的核心部分。通过这些代码,你可以让学生们注册登录并查看宿舍信息,同时让管理员能轻松管理宿舍信息。
好了,这就是整个系统的大概实现过程了。当然,实际项目中还需要考虑更多的细节,比如安全性、用户体验等。不过希望这篇文章能给你带来一些灵感!
再见啦,祝你编程愉快!