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

学生宿舍管理系统演示:从零开始构建一个简单的Web应用

本文通过一个简单的学生宿舍管理系统演示,介绍如何使用Python和Django框架快速搭建一个Web应用。

大家好,今天我来给大家分享一下怎么用Python和Django做一个简单的学生宿舍管理系统。这个系统虽然功能不多,但能帮助我们理解Web开发的基本流程,也适合做演示用。

首先,我们要明确这个系统的功能需求。它应该能管理宿舍信息、学生信息,以及分配宿舍。比如,我们可以有以下几个模块:

宿舍信息管理(宿舍号、床位数、是否已满等)

学生信息管理(姓名、学号、性别、专业等)

宿舍分配功能(将学生分配到某个宿舍)

接下来,我们需要选择技术栈。这里我选择的是Python的Django框架,因为它上手简单,而且内置了很多功能,比如数据库操作、用户认证、模板引擎等等。非常适合做演示项目。

第一步:安装Django

在开始之前,你需要确保你的电脑上已经安装了Python。然后打开终端或者命令行工具,运行下面的命令来安装Django:

pip install django

安装完成后,你可以用下面的命令创建一个新的Django项目:

django-admin startproject dorm_management

这会生成一个名为dorm_management的文件夹,里面是Django项目的结构。

第二步:创建应用

Django项目中可以包含多个应用,每个应用负责不同的功能模块。我们现在要创建一个叫“dorm”的应用,用来处理宿舍相关的逻辑:

cd dorm_management
python manage.py startapp dorm

接着,需要把新创建的dorm应用添加到settings.py中的INSTALLED_APPS列表里:

INSTALLED_APPS = [
    ...
    'dorm',
]

第三步:定义模型

在Django中,数据存储是通过模型(Model)来实现的。我们先在dorm/models.py中定义两个模型:Student和Dormitory。

from django.db import models

class Dormitory(models.Model):
    number = models.CharField(max_length=10)
    capacity = models.IntegerField()
    is_full = models.BooleanField(default=False)

    def __str__(self):
        return self.number

class Student(models.Model):
    name = models.CharField(max_length=100)
    student_id = models.CharField(max_length=20, unique=True)
    gender = models.CharField(max_length=10)
    major = models.CharField(max_length=50)
    dormitory = models.ForeignKey(Dormitory, on_delete=models.SET_NULL, null=True, blank=True)

    def __str__(self):
        return self.name

这段代码定义了两个模型:Dormitory表示宿舍,Student表示学生。Student模型有一个外键关联到Dormitory,表示学生被分配到了哪个宿舍。

第四步:迁移数据库

现在模型已经写好了,接下来需要让Django根据这些模型生成数据库表。运行以下命令:

python manage.py makemigrations
python manage.py migrate

这样,Django就会自动创建数据库表,保存我们的宿舍和学生信息。

第五步:创建管理员账号

为了方便管理,我们可以创建一个管理员账号,用来登录Django的后台管理界面:

python manage.py createsuperuser

按照提示输入用户名、邮箱和密码,完成创建。

第六步:配置后台管理

在dorm/admin.py中注册模型,让它出现在后台管理界面:

from django.contrib import admin
from .models import Dormitory, Student

admin.site.register(Dormitory)
admin.site.register(Student)

第七步:启动服务器并访问

现在,我们可以启动Django开发服务器,看看效果:

python manage.py runserver

然后在浏览器中访问 http://127.0.0.1:8000/admin/,用刚才创建的管理员账号登录,就可以看到宿舍和学生的管理界面了。

第八步:添加视图和模板

除了后台管理,我们还可以为普通用户创建一些页面,比如显示所有宿舍信息,或者让学生申请宿舍。

在dorm/views.py中添加一个视图函数:

from django.shortcuts import render
from .models import Dormitory

def dorm_list(request):
    dorms = Dormitory.objects.all()
    return render(request, 'dorm/list.html', {'dorms': dorms})

然后在dorm/templates/dorm目录下创建一个list.html文件,内容如下:

<h1>宿舍列表</h1>
<ul>
{% for dorm in dorms %}
    <li>{{ dorm.number }} - {{ dorm.capacity }}个床位</li>
{% endfor %}
</ul>

最后,在dorm/urls.py中配置URL路由:

from django.urls import path
from . import views

urlpatterns = [
    path('dorms/', views.dorm_list, name='dorm_list'),
]

然后在dorm_management/urls.py中引入这个应用的URL:

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('dorm.urls')),
]

第九步:测试和演示

现在,我们可以访问 http://127.0.0.1:8000/dorms/ 来查看宿舍列表页面。如果一切正常,你就能看到之前在后台添加的宿舍信息了。

这就是一个简单的学生宿舍管理系统的演示版本。虽然功能有限,但它展示了Web开发的基本流程:定义模型、设置数据库、创建视图、设计模板、配置URL,以及部署运行。

总结

通过这个小项目,我们可以学到很多关于Web开发的知识,比如Django框架的使用、模型的设计、模板的渲染、URL路由的配置等等。对于初学者来说,这是一个很好的入门练习。

如果你对这个项目感兴趣,可以继续扩展它的功能,比如加入学生申请宿舍的功能、宿舍分配算法、搜索功能、权限控制等等。这些都是未来可以深入学习的方向。

希望这篇文章对你有帮助,也欢迎大家一起讨论和交流!

学生宿舍管理

相关资讯

    暂无相关的数据...