大家好,今天我要跟大家分享一个非常实用的项目——用Python和Django来做一个“校友录管理系统”,而且这个系统是专门为医科大学设计的。听起来是不是有点高大上?别担心,我不会讲太多理论,就咱们用最通俗的方式聊聊怎么一步步做出来。
首先,咱们得搞清楚这个系统的功能需求。作为一个医科大学的校友录,它应该能记录学生的基本信息、毕业年份、联系方式、专业方向等等。然后,校友们可以登录系统,查看其他人的信息,或者更新自己的资料。另外,管理员可能还需要对数据进行管理,比如审核、删除或者导出数据。
那我们怎么做呢?先说说技术选型。我选择的是Python语言,因为它的语法简单,生态丰富,尤其是Django框架,非常适合快速开发这种管理系统。Django是一个高级的Web框架,自带了很多功能,比如用户认证、数据库操作、表单处理等等,省去了很多重复劳动。
接下来,我需要创建一个Django项目。打开终端,输入以下命令:
django-admin startproject alumni_project
这会创建一个名为alumni_project的项目目录。然后进入这个目录,再创建一个应用,比如叫alumni_app:

python manage.py startapp alumni_app
这时候,你需要在settings.py中把alumni_app加到INSTALLED_APPS里面,这样Django才知道这个应用的存在。
接下来就是定义模型了。模型其实就是数据库的结构。在alumni_app/models.py文件里,我们可以写这样的代码:
from django.db import models
class Alumni(models.Model):
name = models.CharField(max_length=100)
student_id = models.CharField(max_length=20, unique=True)
major = models.CharField(max_length=100)
graduation_year = models.IntegerField()
email = models.EmailField()
phone = models.CharField(max_length=20)
def __str__(self):
return self.name
这里定义了一个Alumni类,包含了姓名、学号、专业、毕业年份、邮箱和电话这些字段。其中学号是唯一的,防止重复录入。
写完模型之后,还要运行迁移命令,让Django把模型变成真实的数据库表:
python manage.py makemigrations
python manage.py migrate
现在数据库已经建好了,接下来就是创建表单。表单的作用是让用户提交数据的时候,Django能自动验证数据是否合法。在alumni_app/forms.py中,可以这样写:
from django import forms
from .models import Alumni
class AlumniForm(forms.ModelForm):
class Meta:
model = Alumni
fields = ['name', 'student_id', 'major', 'graduation_year', 'email', 'phone']
这个表单继承自ModelForm,直接绑定到Alumni模型,这样就不需要手动一个个字段写了。
然后就是视图部分。视图负责处理用户的请求,比如显示页面、处理提交的数据。在alumni_app/views.py中,可以这样写:
from django.shortcuts import render, redirect
from .models import Alumni
from .forms import AlumniForm
def index(request):
if request.method == 'POST':
form = AlumniForm(request.POST)
if form.is_valid():
form.save()
return redirect('index')
else:
form = AlumniForm()
alumni_list = Alumni.objects.all()
return render(request, 'alumni/index.html', {'form': form, 'alumni_list': alumni_list})
这段代码的意思是,当用户访问首页时,如果提交了表单,就保存数据;否则显示一个空表单。同时还会展示所有已录入的校友信息。
接下来就是模板部分。Django使用的是模板引擎,你可以用HTML+Django模板标签来生成页面。在templates/alumni/目录下创建一个index.html文件,内容如下:
校友录管理系统 - 医科大学版
校友列表
{% for alumni in alumni_list %}
{{ alumni.name }} - {{ alumni.student_id }}
{% endfor %}
这个页面包括一个表单和一个列表,用户填写后就能看到效果了。
最后一步是配置URL。在alumni_project/urls.py中,添加一个路由指向我们的视图:
from django.contrib import admin
from django.urls import path
from alumni_app.views import index
urlpatterns = [
path('admin/', admin.site.urls),
path('', index, name='index'),
]
这样,当用户访问网站根路径时,就会跳转到index视图。
现在整个系统已经基本完成了。你可以在浏览器中访问http://127.0.0.1:8000/,看到一个简单的校友录界面。
当然,这只是一个基础版本。如果你想要更复杂的功能,比如用户登录、权限管理、搜索、分页、导出Excel等,还可以继续扩展。
比如说,加入用户登录功能,可以用Django内置的auth模块。只需要在settings.py中添加一些配置,然后在views.py中判断用户是否登录,就可以实现只有管理员才能管理数据。
另外,为了提高用户体验,可以使用Bootstrap美化页面,或者用AJAX实现无刷新提交。
总之,这个项目非常适合用来练习Django的基础知识,也适用于一些小型的校内系统。特别是对于医科大学来说,校友录可以帮助学校更好地维护与毕业生的联系,甚至用于就业跟踪、校友捐赠等用途。
所以,如果你对Web开发感兴趣,或者正在学习Python,不妨试试这个项目。它不仅有趣,还能让你真正掌握Django的使用方法。
希望这篇文章对你有帮助!如果你有任何问题,欢迎留言交流。我们一起进步,一起写代码!
