当前位置: 首页 > 新闻资讯  > 宿舍管理系统

用Python打造一个校园宿舍管理系统App

本文将通过Python语言开发一个简单的校园宿舍管理系统App,包括用户注册登录、宿舍信息管理和权限控制等功能。

大家好!今天我要跟大家聊聊如何用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框架搭建的一个简单校园宿舍管理系统的核心部分。通过这些代码,你可以让学生们注册登录并查看宿舍信息,同时让管理员能轻松管理宿舍信息。

 

好了,这就是整个系统的大概实现过程了。当然,实际项目中还需要考虑更多的细节,比如安全性、用户体验等。不过希望这篇文章能给你带来一些灵感!

 

再见啦,祝你编程愉快!

相关资讯

    暂无相关的数据...