[免费]基于Python的Django医院管理系统【论文+源码+SQL脚本】

大家好,我是python222_小锋老师,看到一个不错的基于Python的Django医院管理系统,分享下哈。

项目视频演示

https://www.bilibili.com/video/BV1iPH8zmEut/

项目介绍

随着人民生活水平日益增长,科技日益发达的今天,人们对身体健康的重视也越来越高。医院的需求也随之增加。中国有句古话称“病从口入”,随着生活水平的提高,人们在饮食方面也提出了更高的要求。然而,各种食品添加剂的使用使得人们的身体也出现了一些问题。因此,人们对医院的需求迅速增长,而与之相应的是管理方面的挑战。

为了提高医院的经济效益,使其在同行竞争中立于不败之地,迫切需要一个科学的医院信息管理系统来解决医院面临的各种困难。这个系统需要充分了解患者的基本情况,并集结众多患者的管理经验,融合先进的管理思想,同时考虑医院的实际情况,将信息流作为主线,优化流程,为医院管理层提供最佳的管理手段,帮助医院实现资源充分共享,快捷简便地查询资源,全面提升医院整体水平,从而增强医院的竞争力[1]。因此,现代化医院管理变得尤为重要。

系统展示

部分代码

from django.contrib import admin

# Register your models here.
from .models import *


@admin.register(Department)
class DepartmentAdmin(admin.ModelAdmin):
    # 要显示的字段
    list_display = ('id', 'name','doctor_name', 'create_time')

    # 需要搜索的字段
    search_fields = ('name',)

    # 分页显示,一页的数量
    list_per_page = 10

    actions_on_top = True





@admin.register(Doctor)
class DoctorAdmin(admin.ModelAdmin):
    #resource_class = ProxyResource
    list_display = ( 'name', 'gender', 'phone', 'stu_no','department', 'enable', 'create_time','idCard')
    # search_fields = ('name', 'enable', 'idCard', 'department')
    search_fields = ('name', 'phone')
    list_per_page = 20
    # raw_id_fields = ('department',)
    # list_filter = ('department', AgeListFilter, 'create_time')
    # list_filter = (AgeListFilter, 'department', 'create_time', 'birthday', 'time', 'enable', 'gender')

    list_display_links = ('name',)


    #fields = ('user_name', 'idCard', 'birthday')  # 编辑界面只显示No、Name和Age

    #exclude = ('pass_word','user_name')  # 记得元祖需要在后面加个逗号,不然会报错

    list_editable = ('department', 'phone', 'enable', 'gender','idCard','stu_no')

    date_hierarchy = 'create_time'




@admin.register(House)
class HouseAdmin(admin.ModelAdmin):
    # 要显示的字段
    list_display = ('no', 'name','level','amount', 'create_time')

    fields = ('no', 'name', 'level','amount' )  # 编辑界面只显示No、Name和Age

    # 需要搜索的字段
    search_fields = ('no',)

    # 分页显示,一页的数量
    list_per_page = 10

    actions_on_top = True

    # inlines = [
    #     HealthLogInline,
    #     MaintanceInline
    # ]

import xlwt
from django.http import HttpResponse, JsonResponse
import datetime

@admin.register(Medical)
class MedicalAdmin(admin.ModelAdmin):
    # 要显示的字段
    list_display = ('id', 'name', 'price', 'qr_code', 'create_time', 'prescription')

    fields = ('name', 'qr_code', 'price', 'prescription')  # 编辑界面只显示No、Name和Age
    actions = ['output']
    # 需要搜索的字段
    search_fields = ('name', 'qr_code', 'price', 'prescription')

    # 分页显示,一页的数量
    list_per_page = 10

    actions_on_top = True

    # inlines = [
    #     HealthLogInline,
    #     MaintanceInline
    # ]

    def output(self, request, queryset):
        response = HttpResponse(
            content_type='application/vnd.ms-excel')  # 指定返回格式为excel,excel文件MINETYPE为application/vnd.ms-excel
        response['Content-Disposition'] = 'attachment;filename=instorage.xls'
        wb = xlwt.Workbook(encoding='utf-8')  # 创建一个工作簿
        sheet = wb.add_sheet('药品单据')  # 创建一个工作表
        # 创建一个居中对齐的样式
        style = xlwt.XFStyle()
        alignment = xlwt.Alignment()
        alignment.horz = xlwt.Alignment.HORZ_CENTER
        style.alignment = alignment
        font = xlwt.Font()
        font.name = '宋体'
        font.bold = True
        font.height = 20 * 11  # 设置字体大小
        style.font = font

        # 将样式应用于单元格
        sheet.write_merge(0, 0, 0, 5, '药品单据', style)
        sheet.write(1, 0, 'id', style)
        sheet.write(1, 1, '名称', style)
        sheet.write(1, 2, '描述', style)
        sheet.write(1, 3, '价格', style)
        sheet.write(1, 4, '数量', style)
        sheet.write(1, 5, '创建时间', style)
        data_row = 2
        for obj in queryset:
            # 创建一个居中对齐的样式
            style = xlwt.XFStyle()
            alignment = xlwt.Alignment()
            alignment.horz = xlwt.Alignment.HORZ_CENTER
            style.alignment = alignment

            sheet.write(data_row, 0, obj.id, style)
            sheet.write(data_row, 1, obj.name, style)
            sheet.write(data_row, 2, obj.prescription, style)
            sheet.write(data_row, 3, str(obj.price), style)
            sheet.write(data_row, 4, obj.qr_code, style)
            sheet.write(data_row, 5, obj.create_time.strftime('%Y-%m-%d'), style)
            data_row = data_row + 1
        wb.save(response)
        return response

    output.short_description = '生成药品单据'
    output.type = 'success'
    output.style = 'background-color: #00a65a; color: #fff; border-color: #008d4c;'






@admin.register(Patient)
class PatientAdmin(admin.ModelAdmin):
    #resource_class = ProxyResource
    list_display = ( 'name', 'gender', 'phone', 'idCard','department', 'in_time','doctor_name', 'create_time','idCard')
    # search_fields = ('name', 'enable', 'idCard', 'department')
    search_fields = ('name', 'department__name')
    list_per_page = 20
    # raw_id_fields = ('department',)
    # list_filter = ('department', AgeListFilter, 'create_time')
    # list_filter = (AgeListFilter, 'department', 'create_time', 'birthday', 'time', 'enable', 'gender')

    list_display_links = ('name',)


    #fields = ('user_name', 'idCard', 'birthday')  # 编辑界面只显示No、Name和Age

    #exclude = ('pass_word','user_name')  # 记得元祖需要在后面加个逗号,不然会报错

    list_editable = ('department', 'phone', 'idCard', 'doctor_name', 'gender','idCard','in_time')

    date_hierarchy = 'create_time'
#!/usr/bin/env python
import os
import sys

if __name__ == '__main__':
    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'simpleui_demo.settings')
    try:
        from django.core.management import execute_from_command_line
    except ImportError as exc:
        raise ImportError(
            "Couldn't import Django. Are you sure it's installed and "
            "available on your PYTHONPATH environment variable? Did you "
            "forget to activate a virtual environment?"
        ) from exc
    execute_from_command_line(sys.argv)

源码下载

链接:https://pan.baidu.com/s/167Mx6cYeKROqhKl2I2dLCQ
提取码:1234

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值