返回 zip 以从 django 中的视图下载

2024-04-21

我尝试在 Django 应用程序中下载 zip 文件。

我应该如何从视图中返回它?

我尝试了下面的代码,但我在浏览器中收到了某种警报,其中包含我的 zip 中的文件内容。

我究竟做错了什么?

def download_logs(request):
    date = datetime.datetime.now().__str__().replace(" ", "_").split(".")[0]
    os.system("df -h . > /tmp/disk_space")
    response = HttpResponse(mimetype='application/zip')
    response['Content-Disposition'] = 'filename=logs_%s.zip' % date

    files = []
    files.append("/tmp/disk_space")
    buffer = StringIO()
    zip = zipfile.ZipFile(buffer, "w", zipfile.ZIP_DEFLATED)
    for name in files:
        file = open(name, "r")
        zip.writestr(name, file.read())
        file.close()
    zip.close()
    buffer.flush()

    ret_zip = buffer.getvalue()
    buffer.close()
    response.write(ret_zip)
    return response

您应该告诉浏览器将响应视为文件附件。

来自docs http://docs.djangoproject.com/en/dev/ref/request-response/#telling-the-browser-to-treat-the-response-as-a-file-attachment,你应该这样做:

>> response = HttpResponse(my_data, mimetype='application/vnd.ms-excel')
>>> response['Content-Disposition'] = 'attachment; filename=foo.xls'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

返回 zip 以从 django 中的视图下载 的相关文章

  • 如何在 django 中为模板应用背景图像

    在我的网站中 在特定的表格中 我必须插入图像作为背景 我这样做了 但图像看起来像双图像 因为图像小于单元格宽度和高度 它正在重叠 在背景图像单元格中 我使用 no repeat 来结束同一图像的重复显示 但它不起作用 我正在 django
  • Django:对子子外来对象的计数求和

    我有很多 Twavail 的热门歌曲 我有很多 Twavail 的 Twaffic 我想对 Twaffic 的点击数进行求和 并在 Twaffic 条目中获得一个附加字段 hits count 但我遇到了一些困难 这是我的模型 class
  • 更改 django 应用程序名称时迁移历史记录不一致

    我正在尝试重命名 django 网站中的应用程序之一 还有另一个应用程序依赖于它及其 mysql 表 我检查了两个应用程序中的所有文件 并将旧名称的实例更改为新名称 但是 现在我在尝试执行迁移时遇到此错误消息 File Users Limo
  • Django - 检测用户是否在线/离线

    我正在使用 Django 1 10 和 Django REST 我需要知道用户是否登录 离线 在线 我怎样才能做到这一点 我正在使用基于令牌的身份验证 我试过这个article http www djangocurrent com 2011
  • 是否可以使用 Flutter / Dart 创建受密码保护的 ZIP 文件?

    我想创建一个受密码保护的 ZIP 文件 以前有人这样做过吗 你能给我一些建议吗 我在 pub dev 上找不到合理的包 Plugin archive https pub dev packages archive https pub dev
  • 如何在没有 RawSQL 的情况下在 Django 中创建和访问正则表达式捕获组?

    如何在不使用 RawSQL 的情况下使用 Regex 捕获组注释 Django 查询集 以便稍后可以使用该值进行过滤和排序 例如 在 PostgreSQL 中我可以进行以下查询 CREATE TABLE foo id varchar 100
  • 当您的应用程序具有测试目录时,在 Django 中运行特定的测试用例

    Django 文档 http docs djangoproject com en 1 3 topics testing running tests http docs djangoproject com en 1 3 topics test
  • 如何处理 Django 嵌套模板标签

    如何处理模板标记 内的变量 我需要为我的函数 send mail view 提供参数 urls py urlpatterns path send mail view
  • Django ModelForm 不保存数据

    我已经尝试过以下帖子中的解决方案 从 ModelForm 保存数据 https stackoverflow com questions 13046488 saving data from modelform 没起作用 ModelForm数据
  • Django:如何从单独的多个服务器提供用户提交的图像和缩略图?

    对于我的 Django 网站 我想 接受用户提交的图片 从这些图像生成缩略图 将原始图像和缩略图放在单独的多个专用于提供图像的服务器上 我需要多个独立的服务器来提供图像 缩略图 以确保我有足够的 IO 性能 构建这样的分布式图像服务系统的最
  • Django 查询集权限

    我正在构建一个相当复杂的Django在电子邮件扫描服务之上使用的应用程序 这Django应用程序是使用 Python 3 5 编写的 该应用程序主要使用Django Rest Framework处理与浏览器前端的通信 我目前遇到的问题是我尝
  • 如何在ModelAdmin中使用InlinePanel?

    我正在设置一个需要使用多个子模型实例创建的模型 我希望能够在管理界面中编辑和创建此模型 因此我使用以下命令添加它ModelAdmin http docs wagtail io en v1 9 reference contrib modela
  • 向 ModelForm 添加额外字段

    我正在向 Django ModelForm 添加一个额外的字段 如下所示 class form forms ModelForm extra field forms CharField label Name of Institution cl
  • 如何测试我的 Redis 缓存是否正常工作?

    我已经安装了 django redis cache 和 redis py 我遵循了 Django 的缓存文档 据我所知 以下设置就是我所需要的 但我如何判断它是否正常工作 设置 py CACHES default BACKEND redis
  • 是否可以在 django 模板中检查对象是否包含在列表中

    我对 django 很陌生 大约一周了 我正在制作一个网站 用户可以在其中输入内容 然后其他用户可以投票决定他们是否喜欢这些内容 我知道这并不是那么新颖 但这是一个学习一堆工具的好项目 我有一个多对多表来存储谁喜欢或不喜欢什么 在渲染页面之
  • 当请求太大时,Nginx(我认为)会以错误的权限保存文件

    所以 我对托管和 Linux 等都是完全陌生的 所以如果我说错了 请原谅我 我还在学习 我正在使用 Django 创建一个小型个人网站 我想把它放到网上看看是否一切正常 我从 linode 买了一台便宜的服务器 并使用 Digital Oc
  • 如何通过 Robobrowser 使用代理

    我正在与http robobrowser readthedocs org en latest readme html http robobrowser readthedocs org en latest readme html 一个基于 b
  • 为什么 gettext 没有数据库存储选项?

    我正在使用 Django 在基于 Web 的应用程序上进行一些 i18n 操作 该应用程序使用 gettext 作为其 i18n 基础 翻译应该存储在数据库中似乎是一个显而易见的想法 而且并不难做到 但文件系统上的 po 文件仍在使用 为什
  • 日期/时间值的 Django URL 转换器

    我正在尝试使用 Django 内置的 URL 转换器将 URL 中的日期时间字符串转换为视图中的日期对象 如果我手动输入 URL 它们会按预期工作 但尝试为其生成 URL 时找不到匹配项 我的转换器很简单 from django utils
  • 集成共享同一个 MySQL 数据存储的 Django 和 Rails 应用程序的最佳方式是什么?

    我将在网络上与 Python 开发人员合作 应用 我将用 Ruby 构建其中的一部分 而他正在 将使用 Django 构建它的另一部分 我不太了解 姜戈 我集成这两部分的计划是简单地映射某个 URL Python 的路径前缀 例如 以 se

随机推荐

  • SwiftUI macOS 在文本字段处于活动状态时使用箭头键滚动列表

    我想使用 SwiftUITextField https developer apple com documentation swiftui textfield和一个 SwiftUIList https developer apple com
  • 使用 C# 获取 Active Directory 用户数据

    我想获取有关特定用户的数据 我知道该用户的 OU 路径 但无法使用该 OU 路径获取信息 总是说找不到用户 谁能告诉我我需要更改搜索过滤器吗 请帮忙 Code 用户路径 abc ds xyz net fGroup xcxc Users 12
  • Spring data Cassandra 对 UDT 的注释 [重复]

    这个问题在这里已经有答案了 springdatacassandra如何支持POJO中Cassandra提供的用户定义数据类型 我正在寻找 UDT 的注释 Spring data cassandra 最新版本 1 2 0 BUILD SNAP
  • 在 Google Chrome 中使用“i18n-content”进行国际化

    The 官方文档 http code google com chrome extensions i18n html建议检索字符串以进行国际化 如下所示 document querySelector appname innerHTML chr
  • 什么时候应该更喜欢 Kotlin 扩展函数?

    在 Kotlin 中 至少有一个参数的函数可以定义为常规非成员函数或定义为扩展功能 https kotlinlang org docs reference extensions html extension functions其中一个参数是
  • 如何使用reportlab添加PDF中的总页数

    def analysis report request response HttpResponse mimetype application pdf response Content Disposition attachment filen
  • 使用log4j2.xml初始化slf4j

    我想使用 slf4j 而不是 log4j 我在 pom xml 中添加了以下依赖项 我对 slf4j 使用 1 7 25 对 log4j2 使用 2 10 0
  • 在 Eclipse 首选项中看不到 PHP 内容类型?

    我有一个带有 PDT 的新 eclipse Juno 安装 我导入了我的首选项 除了在内容类型部分我没有看到 PHP 内容类型之外 一切似乎都工作正常 我看到 php 内容类型为 content typ name0 如屏幕截图所示 这有什么
  • 获取 Android 中当前的活跃用户

    我正在寻找一种方法来获取 Android 中当前的活跃用户 我正在构建一个系统应用程序 以便我可以使用隐藏方法 但具体来说它必须是当前的活动用户 而不是给定进程的用户 例如 如果您使用 ADB 安装应用程序 则进程会显示用户 ID 是所有者
  • ASP.NET 5、MVC 6、Web API -> ModelState.IsValid 始终返回 true

    我看过很多关于 IsValid 的帖子总是正确的 但没有一个能帮助我解决这个问题 我也在使用 MVC5 的 ASP NET 4 中看到了这个问题 很明显我在某个地方错过了一步 控制器方法 public IHttpActionResult P
  • 从 spring-cloud-sleuth 切换到微米追踪后,Brave Baggage 无法工作

    我正在将我的 spring 项目更新到较新的版本 更新后我收到以下消息 由于以下原因 您的项目设置与我们的要求不兼容 Spring Cloud Sleuth 与此 Spring Cloud 版本系列不兼容 操作 考虑应用以下操作 从 Spr
  • 打开弹出窗口时 Chrome 扩展程序损坏 [关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 Chrome 扩展程序在尝试打开时崩溃popup https developer chrome com extensio
  • 如何使用 Warp 检查授权标头?

    我正在使用 Rust 和 Warp 构建 graphql api 我已经浏览了文档 但我仍然不知道如何链接过滤器 特别是检查authorization在请求头中 let context extractor warp any this cod
  • 通过 React Router 传递函数

    我想通过 React Router 将函数传递给子组件 我尝试了以下方法 但似乎不起作用 class App extends Component constructor props super props render return div
  • C++ 中的迭代合并排序

    我目前正在研究合并排序的迭代版本 但遇到了问题 当数组的特定大小如 34 35 36 或 100 仅几个示例 时 程序会崩溃 而它适用于其余数组 fe 适用于 2 的幂 我已经运行了一些测试并对其进行了调试 问题似乎出在我的迭代 合并排序的
  • PHP preg_functions 多字节安全吗?

    PHP 中没有可用的多字节 preg 函数 那么这是否意味着默认的 preg functions 都是 mb 安全的 在 php 文档中找不到任何提及 pcre 支持开箱即用的 utf8 请参阅 u 修饰符的文档 插图 xC3 xA4 是德
  • 下拉按钮/微调器类似于 Google 设计规范中的按钮

    我想知道如何制作一个下拉按钮 菜单 就像我们在 Google 的设计规范和下图中看到的那样 因此列表在按钮下方展开 我是否需要为其设置自定义布局而不是R layout support simple spinner dropdown item
  • 更改列表中每个字典的特定键的值 - python

    我有一个字典列表 如下所示 type df first from 2020 02 01T20 00 00 000Z to 2020 02 03T20 00 00 000Z days 0 coef 0 1 0 1 0 1 0 1 0 1 0
  • 匹配不同长度的时间向量:一个棘手的问题

    我有两组来自不同机器的测量结果 它们是随着时间的推移以略有不同的间隔进行测量的 例如一个每 5 分钟测量一次 而另一个每 3 分钟测量一次 优点是每 5 分钟计算一次 作为整个时间间隔的平均值 因此这些值应该大致对应 我想通过每 5 分钟
  • 返回 zip 以从 django 中的视图下载

    我尝试在 Django 应用程序中下载 zip 文件 我应该如何从视图中返回它 我尝试了下面的代码 但我在浏览器中收到了某种警报 其中包含我的 zip 中的文件内容 我究竟做错了什么 def download logs request da