使用 Django 下载文件

2024-03-16

这可能是一个简单的问题,但我不知何故找不到解决方案。 Django 提供了很多有关上传文件的信息,但是如何下载文件。

假设我们有一个 HTML 按钮uploads/something.txt作为一个文件。

我尝试过django.views.static.serve,但是这会在网页上打开一个文件。

我的问题很简单:我们网站的用户下载文件的最佳且最Pythonic的方式是什么?


  • 您需要阅读该文件。
  • 使用HttpResponse以及适当的内容类型。

这是一些示例代码:

content = open("uploads/something.txt").read()
return HttpResponse(content, content_type='text/plain')

这应该提供一个文本文件。

但正如您所描述的,在某些浏览器上,它不会要求下载文件,而是会在浏览器中显示它。如果您想显示下载提示,请使用以下命令:

response = HttpResponse(open("uploads/something.txt", 'rb').read())
response['Content-Type'] = 'text/plain'
response['Content-Disposition'] = 'attachment; filename=DownloadedText.txt'
return response

但是,请注意,通过 nginx 或您选择的反向代理提供静态内容或上传的文件可能是更好的主意。通过 Django 发送大文件可能不是最好的方法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Django 下载文件 的相关文章

  • Python 2.7 将比特币私钥转换为 WIF 私钥

    作为一名编码新手 我刚刚完成了教程 教程是这样的 https www youtube com watch v tX XokHf nI https www youtube com watch v tX XokHf nI 我想用 1 个易于阅读
  • for 循环如何评估其参数

    我的问题很简单 Does a for循环评估它每次使用的参数 Such as for i in range 300 python 是否会为此循环的每次迭代创建一个包含 300 个项目的列表 如果是的话 这是避免这种情况的方法吗 lst ra
  • Python在postgresql表中查找带有单引号符号的字符串

    我需要从 psql 表中查找包含多个单引号的字符串 我当前的解决方案是将单引号替换为双单引号 如下所示 sql query f SELECT exists SELECT 1 FROM table name WHERE my column m
  • 希伯来语中的稀疏句子标记化错误

    尝试对希伯来语使用稀疏句子标记 import spacy nlp spacy load he doc nlp text sents list doc sents I get Warning no model found for he Onl
  • 了解 Python 中的酸洗

    我最近接到一项作业 需要以腌制形式放置一本字典 其中每个键引用一个列表 唯一的问题是我不知道腌制形式是什么 谁能给我指出一些好的资源的正确方向来帮助我学习这个概念 pickle 模块实现了一个基本但强大的算法 用于序列化和反序列化 Pyth
  • 如何将 self 传递给装饰器?

    我该如何通过self key下面进入装饰器 class CacheMix object def init self args kwargs super CacheMix self init args kwargs key func Cons
  • 更改 python tkinter canvas 中的线坐标

    我画了一条线tkinter Canvas现在我想移动一端 这可能吗 例如和itemconfig import tkinter tk tkinter Tk canvas tkinter Canvas tk canvas pack line c
  • PySide6.1 与 matplotlib 3.4 不兼容

    当我只安装PySide6时 GUI程序运行良好 但是一旦我安装了matplotlib及其依赖包 包括pyqt5 则GUI程序将无法运行并输出以下错误消息 This application failed to start because no
  • django-admin.py makemessages 不起作用

    我正在尝试翻译一个字符串 load i18n trans Well Hello there how are you to Hola amigo que tal 我的 settings py 文件有这样的内容 LOCALE PATHS os
  • 乘以行并按单元格值附加到数据框

    考虑以下数据框 df pd DataFrame X a b c d Y a b d e Z a b c d 1 2 1 3 df 我想在 列中附加数字大于 1 的行 并在该行中的数字减 1 df 最好应该 然后看起来像这样 或者它可能看起来
  • Python 惰性迭代器

    我试图了解迭代器表达式如何以及何时被求值 以下似乎是一个懒惰的表达 g i for i in range 1000 if i 3 i 2 然而 这个在构造上失败了 g line strip for line in open xxx r if
  • 如何使用 paramiko 查看(日志)文件传输进度?

    我正在使用 Paramiko 的 SFTPClient 在主机之间传输文件 我希望我的脚本打印文件传输进度 类似于使用 scp 看到的输出 scp my file user host user host password my file 1
  • 具有屏蔽无效值的 pcolormesh

    我试图将一维数组绘制为 pcolormesh 因此颜色沿 x 轴变化 但每个 x 的 y 轴保持不变 但我的数据有一些错误值 因此我使用屏蔽数组和自定义颜色图 其中屏蔽值设置为蓝色 import numpy as np import mat
  • 将文本注释到轴并对齐为圆

    我正在尝试在轴上绘制文本并将该文本与圆对齐 更准确地说 有一些具有不同坐标 x y 的点位于该圆内 并使用以下命令创建 ax scatter x y s 100 我想用圆圈连接并标记每个点 Cnameb 文本的坐标由 xp yp 定义 因此
  • 解析根元素内元素之间的 XML 文本

    我正在尝试用 Python 解析 XML 以下是 XML 结构的示例 a aaaa1 b bbbb b aaaa2 a
  • Python]将两个文本文件合并为一个(逐行)[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我是蟒蛇新手 我想做的是将文件 a 和文件 b 逐行合并到一个文件中 例如 text file a a n b n c text fi
  • 如何使用 Keras ImageDataGenerator 预测单个图像?

    我已经训练 CNN 对图像进行 3 类分类 在训练模型时 我使用 keras 的 ImageDataGenerator 类对图像应用预处理功能并重新缩放它 现在我的网络在测试集上训练得非常准确 但我不知道如何在单图像预测上应用预处理功能 如
  • Python:高精度time.sleep

    你能告诉我如何在 Win32 和 Linux 上的 Python 2 6 中获得高精度睡眠函数吗 您可以在中使用浮点数sleep http docs python org library time html time sleep 该参数可以
  • 如何为所有用户安装 Anaconda python?

    Anaconda python 发行版 https store continuum io cshop anaconda 非常方便地部署科学计算环境 SCE 并根据需要切换python版本 默认情况下 安装会将 python 定位到 anac
  • 使用 urllib 编码时保持 url 参数有序

    我正在尝试用 python 模拟 get 请求 我有一个参数字典 并使用 urllib urlencode 对它们进行 urlencode 我注意到虽然字典的形式是 k1 v1 k2 v2 k3 v3 urlencoding 后参数的顺序切

随机推荐

  • CreateView 中的 DatepickerWidget

    在我的模型中 我有一个日期字段 所以我想使用日期选择器 如何使用 Django Admin 日期选择器 我找到了在表单中执行此操作的示例 但我只设计了一个模型 是否可以在我的模型中定义这个小部件 您可以使用get form覆盖小部件属性的方
  • Twilio javascript 客户端回调呼叫应答

    我正在使用 Twilio JavaScript 客户端 我能够拨打电话 捕获回调事件 连接和断开连接 如何实现接听电话时的回调 我需要在接听电话后显示通话计时器 Twilio js 客户端有一个 Device 属性 其中包含您可以使用的以下
  • 如何运行 git log 以仅查看特定分支的更改?

    我有一个本地分支跟踪远程 主分支 运行后git pull and git log 日志将显示远程跟踪分支以及当前分支中的所有提交 但是 由于对远程分支进行了如此多的更改 因此我只需要查看对当前本地分支所做的提交 用于仅显示特定分支的提交的
  • 特金特;新班级中的顶级

    我正在使用 Python 和 Tkinter 开发一个项目 我想将其模块化 主要问题之一是我的实施Toplevel小部件太大 我听说可以将此小部件放入一个新类中 问题是我不知道怎么办 这是我定义主窗口的方式 class App tk Tk
  • 如何处理第三方库代码中的 exit() 调用?

    我正在开发一个 C 应用程序 该应用程序使用另一个团队用 C 编写的库 图书馆的作者喜欢打电话exit 当发生错误时 立即结束程序 而不调用 C 应用程序中堆栈上对象的析构函数 应用程序设置了一些系统资源 这些资源在进程结束后不会自动被操作
  • 发送 TCP 请求并获得响应

    我尝试使用 TCP 请求发送一些字符串 我的服务器 ID 和端口是正确的 我搜索 TCP 请求并找到了一些示例或教程 这是我的来源 public class TcpClient public static final String SERV
  • postgres复制命令,二进制文件

    我正在使用 COPY 将字段从表复制到文件 该字段是一个压缩文本文件 因此我使用二进制副本 文件已创建 唯一的问题是 COPY 向文件添加了标头和尾部 这是我不需要的 这可以改变吗 是否有一个参数可以使 COPY 将字段与数据库中的字段完全
  • 如何在 Angular CLI 中更新 Angular 2

    如何更新 Angular 2 版本 我使用 Angular CLI 1 0 0 beta 20 4 并尝试了 npm update save 但它没有执行任何操作 下面是我目前的 package json 文件 感谢对此的任何帮助 name
  • 如何在黑莓手机中制作状态栏?

    我想在屏幕底部设置状态栏 它应该在左侧和右侧显示一个按钮 你可以在下面看到我的屏幕 我的代码是这样的 private void BottomLayout Bitmap topBg Bitmap getBitmapResource Image
  • 使用 iOS 版 OAuthConsumer 将图像上传到 tumblr

    我正在使用OAuth消费者 http code google com p oauthconsumer 在我的 iOS 应用程序中 它使用汤不热API http www tumblr com docs en api v2 posting 一般
  • paypal沙箱商户账户错误

    我有一个网站 我正在尝试使用 php 脚本将 paypal 连接到该网站 php 构建查询字符串然后提交到https www paypal com cgi bin webscr https www paypal com cgi bin we
  • Maui -- 如何使背景颜色透明?

    我正在尝试编写一个程序 该程序将用作另一个程序之上的覆盖 我希望文本 按钮和边框是实心的 背景是透明的
  • 如何向 Traefik 添加唯一的请求 ID 标头

    在Traefik中 是否可以为请求添加唯一的Request ID标头 我希望能够将访问日志与后端服务的日志关联起来 AFAIK 不支持它 但是 Traefik 2 3 6 中有一个功能解决方法 static config tracing W
  • 通过 FQL 识别来自 fb:comments 的垃圾邮件

    我正在运行 FQL 查询来获取网站上特定帖子的评论 有没有办法识别是否被标记为垃圾邮件 如果没有 我可以看到博客所有者删除了一些评论 以便它们在网站上不可见 是否有办法识别哪些内容已被博客所有者 隐藏 删除 Thanks 我正在使用 is
  • 如何使用 TypeScript 返回正确的 Promise

    所以我正在用 typescript 学习 Angular 2 我正在编写一个模拟服务 如果服务成功获取对象 它 我相信 应该返回一个 Promise 如果发生任何情况 则返回一个错误 我尝试过以下代码 但看起来它不是打字稿的编写语法 更新了
  • 指令中的 $watch 函数在 Angular JS 中没有被触发

    我是 Angular JS 的新手 一直在到处寻找为什么这不起作用的答案 我在这里有我的指令 directive carrouselPreview function return function scope element attrs s
  • 如何禁用表单身份验证

    我的网站中有一个文件夹 我使用基于表单的身份验证对其进行保护 我现在必须在该文件夹中开发两个新页面 并且我想在测试和调试新表单时关闭安全性 我已将网站 web config 文件中的身份验证模式更改为 mode None 并且已从安全文件夹
  • 嵌套溢出滚动隐藏的溢出不起作用

    我有一个 div 没有被剪切到父级的问题 即使它有overflow hidden 我已经浏览过overflow hiddenstackoverflow 上有问题 但大多数都有问题position或者似乎表明我的代码应该可以工作 这是一个MW
  • 读取 CSV Oracle 存储过程 UTL_FILE 时忽略引号之间的逗号

    示例数据 1 test xy yz dog cat 2 test2 xy fish bear 正如您在上面所看到的 第二列可能会也可能不会用引号引起来 并且作为字符串的一部分 我只是想找到一种方法来忽略引号内的逗号 如果有的话 我正在使用
  • 使用 Django 下载文件

    这可能是一个简单的问题 但我不知何故找不到解决方案 Django 提供了很多有关上传文件的信息 但是如何下载文件 假设我们有一个 HTML 按钮uploads something txt作为一个文件 我尝试过django views sta