嘿,兄弟姐妹们!今天我要跟你们聊一个挺有意思的话题——怎么用Python和Django,在温州这片热土上搭建一个属于自己的学工管理系统。别看这名字听起来有点高大上,其实说白了就是个学生信息管理的小程序。不过呢,咱们这次不光是写个简单的页面,而是要真正把功能做出来,让你能查、能改、能增、能删。
首先,我得先说一下为什么选温州?因为我在温州上学,也经常看到学校里的学工系统有时候会出点小问题,比如数据更新慢、界面不好用之类的。所以我就想,要是自己能做一个更顺手的系统,那多好啊!于是,就有了这个项目。
那咱们就从头开始吧。首先,你得有个开发环境。如果你是Windows用户,建议装个虚拟机或者用WSL(Windows Subsystem for Linux)来运行Linux系统。当然,如果你是Mac或者Linux用户,那就更方便了。不管怎样,你需要安装Python和Django。
接下来,我们来创建一个新的Django项目。你可以用命令行输入以下指令:
django-admin startproject xuegong
这样就会生成一个名为xuegong的项目目录。进入这个目录后,再创建一个应用,比如叫student:
python manage.py startapp student
然后,把这个应用加到settings.py的INSTALLED_APPS里,确保它被正确识别。
现在,我们来看看模型(Model)。模型就是数据库的结构,用来保存学生的信息。比如姓名、学号、班级、联系方式等等。在student/models.py里,我们可以这样写:
from django.db import models
class Student(models.Model):
name = models.CharField(max_length=100)
student_id = models.CharField(max_length=20, unique=True)
class_name = models.CharField(max_length=50)
phone = models.CharField(max_length=20)
def __str__(self):
return self.name
写完模型之后,需要执行数据库迁移。执行以下命令:

python manage.py makemigrations
python manage.py migrate
这样,数据库就被创建好了。接下来,我们需要创建一个后台管理界面,方便我们添加、编辑和删除学生信息。在admin.py里,加入:
from django.contrib import admin
from .models import Student
admin.site.register(Student)
然后,运行服务器看看效果:
python manage.py runserver
打开浏览器,访问http://127.0.0.1:8000/admin/,登录进去就能看到Student这个模型了。这时候,你可以添加几个测试数据,比如张三、李四这些同学。
不过,光有后台还不够,我们还需要一个前端页面,让普通用户也能查看和操作这些信息。这里我们可以用Django的模板系统来实现。
首先,在student目录下新建一个templates文件夹,里面放一个index.html文件。然后在views.py中写一个视图函数:
from django.shortcuts import render
from .models import Student
def index(request):
students = Student.objects.all()
return render(request, 'index.html', {'students': students})
接着,在urls.py中配置路由:
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
然后在index.html里写一些HTML代码,展示学生列表:
学生信息列表
{% for student in students %}
{{ student.name }} - {{ student.student_id }} - {{ student.class_name }} - {{ student.phone }}
{% endfor %}
这样,你就有了一个可以查看学生信息的网页了。不过,可能你还想增加一些功能,比如搜索、分页、添加新学生等。
比如说,添加一个表单,让用户可以输入新的学生信息。在views.py中,可以添加一个add_student函数:
from django.shortcuts import render, redirect
from .models import Student
from .forms import StudentForm
def add_student(request):
if request.method == 'POST':
form = StudentForm(request.POST)
if form.is_valid():
form.save()
return redirect('index')
else:
form = StudentForm()
return render(request, 'add_student.html', {'form': form})
然后创建一个StudentForm类,放在forms.py中:
from django import forms
from .models import Student
class StudentForm(forms.ModelForm):
class Meta:
model = Student
fields = ['name', 'student_id', 'class_name', 'phone']
再创建一个add_student.html页面,让用户填写信息:
添加学生信息
最后,在urls.py中添加这个路由:
path('add/', views.add_student, name='add_student'),
这样,用户就可以通过点击“添加”按钮,输入新学生的资料了。是不是感觉挺酷的?
不过,这只是个基础版本。如果你想让这个系统更强大一点,还可以考虑加入权限控制、数据导出、API接口等功能。比如,用Django REST framework来提供一个RESTful API,让其他系统也可以调用你的数据。
另外,为了提升用户体验,你还可以用前端框架如Vue.js或React来构建更丰富的界面。不过对于刚开始学习的人来说,Django自带的模板系统已经足够用了。
总之,通过这个项目,你不仅学会了如何用Python和Django开发一个简单的学工管理系统,还掌握了模型、视图、模板、表单这些基本概念。而且,这一切都是在温州这片土地上完成的,是不是还挺有成就感的?
如果你对这个项目感兴趣,欢迎留言交流,或者直接去GitHub上找开源项目参考。说不定以后你还能把这个系统推广到更多的学校,帮助更多学生管理他们的信息。
好了,今天的分享就到这里。希望这篇文章对你有所帮助,也欢迎大家继续关注我的博客,我会持续分享更多有趣的技术内容。
