django_project_demo/app/views/depart.py
2024-08-24 03:25:23 +00:00

78 lines
2.2 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

"""
部门管理视图函数
功能:实现部门的增删改查
"""
from django.shortcuts import render, redirect
from app import models
from app.models import Department # 数据表类
def depart_list(request):
"""
部门列表
"""
data_list = Department.objects.all()
for item in data_list:
print(item.id)
return render(request, 'depart_list.html', {'queryset': data_list})
def depart_add(request):
"""
新增部门
"""
if request.method == 'GET':
return render(request, 'depart_add.html')
title = request.POST.get('title')
Department.objects.create(title=title)
return redirect('/depart/list')
def depart_delete(request):
"""
删除部门
"""
nid = request.GET.get('nid')
Department.objects.filter(id=nid).delete()
return redirect('/depart/list')
def depart_edit(request, nid):
"""
编辑部门
nid 用于接收前端传递过来的id,他的名字要和urls.py文件中定义的一样
"""
if request.method == 'GET': # 进入编辑页面
row_object = Department.objects.filter(id=nid).first()
return render(request, 'depart_edit.html', {'row_object': row_object})
# 保存修改POST提交
title = request.POST.get('title')
Department.objects.filter(id=nid).update(title=title)
return redirect('/depart/list')
def depart_multi(request):
""" 批量上传文件 (excel文件 """
from django.core.files.uploadedfile import InMemoryUploadedFile
file_object = request.FILES.get('exc') # 从depart_list.html中读取上传的文件
# 直接打开excel文件并读取
from openpyxl import load_workbook
wb = load_workbook(file_object) # load_workbook可以打开一个文件对象
sheet = wb.worksheets[0] # 第1个工作薄
# row = sheet.cell(1, 1) # xls表第1行第1列数据
# print(row.value)
# 循环读取所有行
# 第1行是标题数据从第2行开始读取
for row in sheet.iter_rows(min_row=2):
data = row[0].value
if not models.Department.objects.filter(title=data).exists(): # 判断部门值是否存在
models.Department.objects.create(title=data)
return redirect('/depart/list')