分享一套【优质Python源码】基于Python的Django员工管理系统

0 阅读2分钟

大家好,我是python222_小锋老师,分享一套优质的基于Python的Django员工管理系统  。  

image.png

项目简介

借助 Django 框架强大的 ORM(对象关系映射)功能,开发者在与数据库交互时无需编写复杂的 SQL 语句,就能轻松实现数据的高效存储与管理。同时,Django 还提供了功能丰富的后台管理界面,这使得管理员在进行数据的增删改查操作时变得格外方便快捷。而前端通过 HTML、CSS 和 JavaScript 的协同配合,不仅能够构建出结构清晰、语义明确的页面,实现页面的结构化,还可以对页面进行全方位的美化,赋予页面灵动的动态效果,进而从整体上提升用户的使用体验,让使用者在操作过程中感受到便捷与舒适。

源码下载

链接: pan.baidu.com/s/1cGSYsI33…

提取码: 1234

相关截图

image.png

image.png

image.png

image.png

image.png

核心代码

from django.shortcuts import render, redirect

from app01 import models
from app01.utils.pagination import Pagination
from app01.utils.form import UserModelForm, PrettyModelForm, PrettyEditModelForm


def user_list(request):
    """用户管理"""
    # 获取所有用户列表[obj,obj,obj]
    queryset = models.UserInfo.objects.all()
    # """
    # for obj in queryset:
    #     # 获取数据库中的choices方法 obj.get_数据名称_display()
    #     # obj.depart_id_id    获取数据库中的那个字段值
    #     # obj.depart_id.title  根据ID自动去关联的表中获取哪一行数据depart对象
    #     print(obj.id, obj.name, obj.account, obj.create_time.strftime("%Y-%m-%d"), obj.get_gender_display(), obj.depart_id_id, obj.depart_id.title)
    #     eg:1 汉朝1 13.12 2001-11-21 男 5 qweq
    # """

    page_object = Pagination(request, queryset, page_size=10)

    context = {
        "queryset": page_object.page_queryset,  # 获取数据
        "page_string": page_object.html(),  # 获取html
    }

    return render(request, "user_list.html", context)


def user_add(request):
    """添加用户"""
    if request.method == "GET":
        context = {
            'gender_choices': models.UserInfo.gender_choices,
            'depart_list': models.Department.objects.all(),
        }
        return render(request, 'user_add.html', context)

    # 获取用户提交的数据
    user = request.POST.get("user")
    pwd = request.POST.get("pwd")
    age = request.POST.get("age")
    account = request.POST.get("ac")
    ctime = request.POST.get("ctime")
    gender_id = request.POST.get("gd")
    depart_id = request.POST.get("dp")

    # 添加到数据库
    models.UserInfo.objects.create(name=user,
                                   password=pwd,
                                   age=age,
                                   account=account,
                                   create_time=ctime,
                                   gender=gender_id,
                                   depart_id_id=depart_id)

    # 返回用户列表页面
    return redirect("/user/list/")


def user_model_form_add(request):
    """添加用户 ModelForm 版本"""
    if request.method == "GET":
        form = UserModelForm()  # 实例化对象
        return render(request, 'user_model_form_add.html', {"form": form})

    # 用户POST提交数据,数据校验
    form = UserModelForm(data=request.POST)
    if form.is_valid():
        # 如果数据合法,保存到数据库
        # print(form.cleaned_data)
        form.save()
        return redirect('/user/list/')

    return render(request, 'user_model_form_add.html', {"form": form})


def user_edit(request, nid):
    """编辑用户"""
    # 根据id去数据库获取要编辑的那一行数据(对象)
    row_object = models.UserInfo.objects.filter(id=nid).first()

    if request.method == "GET":
        form = UserModelForm(instance=row_object)  # 对 实例=?的行进行操作
        return render(request, 'user_edit.html', {"form": form})

    form = UserModelForm(data=request.POST, instance=row_object)
    # 数据校验
    if form.is_valid():
        # 默认保存的是用户输入的所有数据,
        # 如果想要在用户输入以外增加一点值,form.instance.在字段名 = 值
        form.save()
        return redirect('/user/list/')

    # 不合法
    return render(request, 'user_edit.html', {"form": form})


def user_delete(request, nid):
    models.UserInfo.objects.filter(id=nid).delete()
    return redirect('/user/list/')