大家好,我是python222_小锋老师,分享一套优质的基于Python的Django医院管理系统 。
项目简介
设计任务是要设计一个医院管理系统,基于Django框架开发,结合simpleui前端框架,使用Python语言,采用MVT模式,并以MySql作为后台数据库,通过这个系统能够满足用户在线查看医院信息数据等功能。
本系统的核心功能模块包括:医生管理、患者管理、病房管理、科室管理、药品管理、权限管理等。
管理员可以根据系统给定的账号进行登录,登录后可以进入医院管理系统对医院管理所有模块进行管理。包括查看和修改自己的个人信息以及登录密码。以及各模块数据的Excel报表导出。
源码下载
链接: pan.baidu.com/s/1lvICCB9r…
提取码: 1234
相关截图
核心代码
from django.db import models
# Create your models here.
from django.urls import reverse
from django.utils import timezone
class Department(models.Model):
name = models.CharField(max_length=128, verbose_name='科室名称', help_text='一个科室名称的名字应该唯一', unique=True, db_index=True)
doctor_name = models.CharField(max_length=128, verbose_name='医生名字',default="")
create_time = models.DateTimeField(verbose_name='创建时间', auto_now=True)
class Meta:
verbose_name = "科室"
verbose_name_plural = "科室管理"
def __str__(self):
return self.name
class Doctor(models.Model):
name = models.CharField(max_length=128, verbose_name='姓名', help_text='医生的名字', null=False, blank=False,
db_index=True)
gender_choices = (
(0, '未知'),
(1, '男'),
(2, '女'),
)
gender = models.IntegerField(choices=gender_choices, verbose_name='性别', default=0)
stu_no = models.CharField(max_length=20, verbose_name="工号", null=True, blank=True,)
idCard = models.CharField(max_length=18, verbose_name='身份证号', help_text='18位的身份证号码', blank=True, null=True)
phone = models.CharField(max_length=11, verbose_name='手机号')
department = models.ForeignKey(Department, on_delete=models.SET_NULL, blank=False, null=True, verbose_name='科室',
db_index=True)
enable = models.BooleanField(verbose_name='状态', default=True)
create_time = models.DateTimeField(verbose_name='创建时间', auto_now=True)
update_time = models.DateTimeField(verbose_name='更新时间', auto_now=True)
class Meta:
verbose_name = "医生"
verbose_name_plural = "医生管理"
def __str__(self):
return self.name
class House(models.Model):
name = models.CharField(max_length=128, verbose_name='楼栋', help_text='一个病房的楼栋的名字应该唯一', unique=True, db_index=True)
no = models.CharField(max_length=128, verbose_name='房号', help_text='一个病房的房号应该唯一', unique=True, db_index=True)
level = models.CharField(max_length=128, verbose_name='床位', help_text='一个病房的床位的名字应该唯一', unique=True, db_index=True)
amount = models.CharField(max_length=128, verbose_name='人数', db_index=True,default="")
create_time = models.DateTimeField(verbose_name='创建时间', auto_now=True)
class Meta:
verbose_name = "病房"
verbose_name_plural = "病房管理"
def __str__(self):
return self.name
class Patient(models.Model):
name = models.CharField(max_length=128, verbose_name='姓名', help_text='患者的名字', null=False, blank=False,
db_index=True)
gender_choices = (
(0, '未知'),
(1, '男'),
(2, '女'),
)
gender = models.IntegerField(choices=gender_choices, verbose_name='性别', default=0)
idCard = models.ForeignKey(House, on_delete=models.SET_NULL, blank=False, null=True, verbose_name='房号',
db_index=True)
phone = models.CharField(max_length=11, verbose_name='手机号')
department = models.ForeignKey(Department, on_delete=models.SET_NULL, blank=False, null=True, verbose_name='就诊科室',
db_index=True)
in_time = models.DateTimeField(verbose_name='就诊时间')
doctor_name = models.ForeignKey(Doctor, on_delete=models.SET_NULL, blank=False, null=True, verbose_name='就诊医生',
db_index=True)
create_time = models.DateTimeField(verbose_name='创建时间', auto_now=True)
update_time = models.DateTimeField(verbose_name='更新时间', auto_now=True)
class Meta:
verbose_name = "患者"
verbose_name_plural = "患者管理"
def __str__(self):
return self.name
class Medical(models.Model):
name = models.CharField(max_length=128, verbose_name='名称', unique=True, db_index=True)
prescription_choices = (
(1, '是'),
(2, '否'),
)
prescription = models.IntegerField(choices=prescription_choices, verbose_name='是否处方药', default=2)
price = models.FloatField(verbose_name='价格')
qr_code = models.CharField(max_length=128, verbose_name='数量', unique=True, db_index=True)
create_time = models.DateTimeField(verbose_name='创建时间', auto_now=True)
class Meta:
verbose_name = "药品"
verbose_name_plural = "药品管理"