【django学习-28】列表界面模板下载与上传文件

news/2024/9/19 9:34:45
  • 前言,我们在实际项目开发过程中,经常有列表界面,有上传功能,并且支持先下载模板,后上传
  • 1.实现效果与前端展示
<form method="post" enctype="multipart/form-data" action="/depart/multi/">{% csrf_token %}<div class="form-group"><input type="file" name="exc"></div><input type="submit" value="上传" class="btn btn-info btn-sm"><a class="btn btn-info btn-sm" href="/depart/download/">模板下载</a></form>

  • 2.模板下载,先需要在项目中上传模板
def depart_download(request):"""下载部门导入模板"""BASE_DIR = Path(__file__).resolve().parent.parentmedia = os.path.join(BASE_DIR, "static","excel")file_path = os.path.join(media, '部门导入模板.xlsx')try:f = open(file_path, "rb")r = FileResponse(f, as_attachment=True, filename="部门导入模板.xlsx")return rexcept Exception:raise Http404("down error")
  • 3.上传部门数据
def depart_multi(request):"""批量上传部门"""# 获取文件对象file_object = request.FILES.get("exc")   # exc 前端标签的name属性if not file_object:return HttpResponse("请上传文件")# 读取内容,并且保存到数据库from openpyxl import load_workbookwb = load_workbook(file_object)sheet = wb.worksheets[0]# 循环每一行数据for row in sheet.iter_rows(min_row=2):title = row[0].valueexists = models.Department.objects.filter(title=title)if not exists:models.Department.objects.create(title=title)return redirect("/depart/list/")

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/31969.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

AoPS - Chapter 3 More Triangles

本章主要讲解正弦定理、余弦定理、海伦公式、Stewarts Theorem。本章主要讲解正弦定理、余弦定理、海伦公式、Stewarts Theorem。 本文在没有特殊说明时,默认在 \(\triangle ABC\) 中:\(a\) 为角 \(A\) 对边,\(b\) 为角 \(B\) 对边,\(c\) 为角 \(C\) 对边。 \(r\) 为内切圆…

Apache Zeppelin 命令执行漏洞复现

漏洞描述 攻击者可以使用Shell解释器作为代码生成网关,系统org.apache.zppelin.shell.Shellnterpreter类直接调用/sh来执行命令,没有进行过滤,导致RCE漏洞。 Fofa: app="APACHE-Zeppelin" 漏洞复现: 在fofa中搜索资产,共有1238条数据匹配该漏洞需要目标站点开启…

大漠注册用法

先去官方下载必要的文件 官网:http://121.204.253.175:8088/login.asp 有的鸡肋,要充钱才可以有下载列表。。。 因为我没充钱,就去淘宝买了=.=下载这四个,然后解压解压后有这三个文件夹然后桌面新建一个文件夹,存放e项目程序(也可以去别的地方) 把这三个拖入到e程序的…

ElasticJobUI

进入ElasticJob官网 ElasticJob官网 官网ElasticJobUI使用手册点击 下载mac启动 打开 iterm,进入下载的包目录,运行 chomod +x ./start.sh ./start.sh启动后,会显示日志文件路径 cat 日志文件路径端口 8088,本地访问地址 http://localhost:8088账号密码都是 root 登录后,添…

【django学习-27】media介绍与文件上传

前言:django开发过程中,有2个文件夹(也即:目录)比较特殊:static文件夹(目录)、media文件夹(目录)。static目录:我们项目自己用到的文件(css、js、项目图片、插件),建议放在static目录下。 media目录:用户自己上传的文件等资源,建议放在media目录下。要想用medi…

ElasticJob控制台

进入ElasticJob官网 ElasticJob官网 点击 下载mac启动 打开 iterm,进入下载的包目录,运行 chomod +x ./start.sh ./start.sh启动后,会显示日志文件路径 cat 日志文件路径端口 8088,本地访问地址 http://localhost:8088账号密码都是 root 登录后,添加注册中心(zookeeper地…

VMWare Workstation 17命令行自动化测试高级用法详解

命令行自动化测试 VMWare Workstation 17 高级用法详解VMware Workstation 是一个强大的桌面虚拟化解决方案,允许用户在同一台物理机上运行多个虚拟机。虽然 VMware Workstation 主要提供图形用户界面 (GUI) 来管理虚拟机,但它也支持命令行工具来执行一些高级任务和自动化操作…

墨刀的特点和使用方法

墨刀是一款专业的原型设计工具,具有以下特点:简单易用:墨刀拥有直观的操作界面,用户可以轻松地创建原型设计,并且无需编程知识。多平台支持:墨刀可以在多个平台上使用,包括Web、iOS和Android,用户可以随时随地进行设计工作。实时协作:墨刀支持团队实时协作,多人可以同…