如何在 Django 视图中显示 PDF 文件?

2024-01-09

是否可以显示 PDF 文件inDjango 视图,而不是让用户必须下载它才能看到它?

如果可能的话,会怎样做?

这就是我到目前为止所拥有的 -

@login_required
def resume(request, applicant_id):

    #Get the applicant's resume
    resume = File.objects.get(applicant=applicant_id)
    fsock = open(resume.location, 'r')
    response = HttpResponse(fsock, mimetype='application/pdf')

    return response

Django有一个专门用于返回文件的类,文件响应 https://docs.djangoproject.com/en/stable/ref/request-response/#django.http.FileResponse。它流式传输文件,这样您就不必在返回文件之前将整个文件读入内存。干得好:

from django.http import FileResponse, Http404

def pdf_view(request):
    try:
        return FileResponse(open('foobar.pdf', 'rb'), content_type='application/pdf')
    except FileNotFoundError:
        raise Http404()

如果您有非常大的文件或者经常这样做,更好的选择可能是使用正常的服务器配置在 Django 之外提供这些文件。

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

如何在 Django 视图中显示 PDF 文件? 的相关文章

  • 稀有对象的 python 类型注释,例如 psycopg2 对象

    我了解内置类型 但是我如何指定稀有对象 例如数据库连接对象 def get connection and cursor gt tuple psycopg2 extensions cursor psycopg2 extensions conn
  • 使用 django-rest-framework 设置对象级权限

    尝试使用 django rest framework 最干净 最规范地管理 django guardian 对象级权限 我想将对象的读取权限 module view object 分配给在执行 POST 时发出请求的用户 我的基于阶级的观点
  • 在python中将数据库表写入文件的最快方法

    我正在尝试从数据库中提取大量数据并将其写入 csv 文件 我正在尝试找出最快的方法来做到这一点 我发现在 fetchall 的结果上运行 writerows 比下面的代码慢 40 with open filename a as f writ
  • 多处理中的动态池大小?

    有没有办法动态调整multiprocessing Pool尺寸 我正在编写一个简单的服务器进程 它会产生工作人员来处理新任务 使用multiprocessing Process对于这种情况可能更适合 因为工作人员的数量不应该是固定的 但我需
  • 从 Azure ML 实验中访问 Azure Blob 存储

    Azure ML 实验提供了通过以下方式读取 CSV 文件并将其写入 Azure Blob 存储的方法 Reader and Writer模块 但是 我需要将 JSON 文件写入 blob 存储 由于没有模块可以执行此操作 因此我尝试在Ex
  • 使用python从gst管道抓取帧到opencv

    我在用着OpenCV http opencv org 和GStreamer0 10 我使用此管道通过自定义套接字通过 UDP 接收 MPEG ts 数据包sockfd由 python 提供并显示它xvimagesink 而且效果很好 以下命
  • 在 python pandas 中,如何保存“网格图”?

    我对 pandas 绘图工具很陌生 在文档中 以下命令非常方便 myplot rts ret hist bins 50 by rts primary mic 然而 当我尝试从图中获取图形参考并保存它时 问题就出现了 myfigure myp
  • 在Python上获取字典的前x个元素

    我是Python的新手 所以我尝试用Python获取字典的前50个元素 我有一本字典 它按值降序排列 k 0 l 0 for k in len dict d l 1 if l lt 51 print dict 举个小例子 dict d m
  • 如何使用scrapy检查网站是否支持http、htts和www前缀

    我正在使用 scrapy 来检查某些网站是否工作正常 当我使用http example com https example com or http www example com 当我创建 scrapy 请求时 它工作正常 例如 在我的pa
  • 使用 for 循环创建一系列元组

    我已经搜索过 但找不到答案 尽管我确信它已经存在了 我对 python 很陌生 但我以前用其他语言做过这种事情 我正在以行形式读取数据文件 我想将每行数据存储在它自己的元组中 以便在 for 循环之外访问 tup i inLine wher
  • 是否需要关闭没有引用它们的文件?

    作为一个完全的编程初学者 我试图理解打开和关闭文件的基本概念 我正在做的一项练习是创建一个脚本 允许我将内容从一个文件复制到另一个文件 in file open from file indata in file read out file
  • 使用 Python 将连续日期分组在一起

    Given dates datetime 2014 10 11 datetime 2014 10 1 datetime 2014 10 2 datetime 2014 10 3 datetime 2014 10 5 datetime 201
  • 在Raspberry pi上升级skimage版本

    我已经使用 Raspberry Pi 2 上的 synaptic 包管理器安装了 python 包 然而 skimage 模块版本 0 6 是 synaptic 中最新的可用版本 有人可以指导我如何将其升级到0 11 因为旧版本中缺少某些功
  • 可以使用哪些技术来衡量 pandas/numpy 解决方案的性能

    Question 如何简洁全面地衡量下面各个功能的性能 Example 考虑数据框df df pd DataFrame Group list QLCKPXNLNTIXAWYMWACA Value 29 52 71 51 45 76 68 6
  • 如何在Django中获取某个组的所有用户?

    我想获取 Django 组中所有用户的列表 例如 User objects filter group Staff 我在文档中的任何地方都找不到如何执行此查询 以下查询解决了我的问题 User objects filter groups na
  • 检测是否从psycopg2游标获取?

    假设我执行以下命令 insert into hello username values me 我跑起来就像 cursor fetchall 我收到以下错误 psycopg2 ProgrammingError no results to fe
  • 如何编写一个接受 int 或 float 的 C 函数?

    我想用 C 语言创建一个扩展 Python 的函数 该函数可以接受 float 或 int 类型的输入 所以基本上 我想要f 5 and f 5 5 成为可接受的输入 我认为我不能使用if PyArg ParseTuple args i v
  • 如何从namedtuple实例列表创建pandas DataFrame(带有索引或多索引)?

    简单的例子 from collections import namedtuple import pandas Price namedtuple Price ticker date price a Price GE 2010 01 01 30
  • 如何使用 python 定位和读取 Data Matrix 代码

    我正在尝试读取微管底部的数据矩阵条形码 我试过libdmtx http libdmtx sourceforge net 它有 python 绑定 当矩阵的点是方形时工作得相当好 但当矩阵的点是圆形时工作得更糟 如下所示 另一个复杂问题是在某
  • IndexError - 具有匀称形状的笛卡尔 PolygonPatch

    我曾经使用 shapely 制作一个圆圈并将其绘制在之前填充的图上 这曾经工作得很好 最近 我收到索引错误 我将代码分解为最简单的操作 但它甚至无法执行最简单的循环 import descartes import shapely geome

随机推荐

  • Java 中的 try、catch、finally 中的 return 是如何工作的?

    我不明白到底如何return工作于try catch 如果我有try and finally没有catch 我可以把return在 的里面try block 如果我有try catch finally 我不能放return in the t
  • 如何获得 PHP 数组中下一个值和上一个值之间的减法[重复]

    这个问题在这里已经有答案了 我有这样的数据数组 array 0 0 0 19 0 5 0 75 1 0 1 25 1 5 1 75 2 0 2 25 我想要得到的是下一个值和上一个值之间的绝对减值数组 0 0 0 19 0 19 0 5 0
  • 使用 AWS 负载均衡器的 A(主机)记录

    我有关于 AWS 负载均衡器的问题 我可以指点我的CNAMEwww 完美地连接到我的负载均衡器的 DNS 我知道它将始终有效 但我还需要将 记录指向负载均衡器 以便人们可以访问mysite com代替www mysite com并点击负载均
  • Haskell 在计算字母方面能打败 C 吗?

    剧透 是的 见下文 尝试优化字母计数器以匹配 C 我已经与它斗争到了 2 倍的赤字 letterCount B ByteString gt V Vector Int letterCount bs V accumulate a gt a 1
  • 带块的 File.open 与不带块的 File.open

    我有一个关于 Block 的问题 这两个代码的含义相同吗 code 1 File open yozloy txt w do f f lt lt Some contains end code 2 newFile File open yozlo
  • 添加标签覆盖谷歌地图

    我成功添加信息窗口
  • 响应式 HTML 电子邮件可以使用手风琴吗?

    我的客户想要一封响应式电子邮件 其中文本未完全显示 但已嵌入电子邮件正文中 当用户单击 单击更多 时 文本会展开并且所有文本都变得可见 那可能吗 据我所知 伪类在电子邮件客户端上是不可能的 并且使用内联编码构建手风琴在技术上非常困难 有任何
  • AS3敌人双倍速度?

    我使用 AS3 和 Air 3 2 for Android 在 Flash CS6 中制作了一个游戏 现在这个游戏你会进入不同的菜单 当你死后 它会返回主菜单并显示你的分数 现在当你选择一个新角色并玩时再次穿越 怪物速度翻倍 知道为什么吗
  • 如何使用 proc http 和 http_tokenauth 在后台调用 SAS STP

    我正在尝试使用选项后台通过 proc http 从 SAS 调用存储进程 STP 以确保我的主进程不会等待 STP 完成 我确实使用以下代码 filename resp
  • Idris:函数使用 Nat 参数,但使用 Integer 参数时类型检查失败

    我是伊德里斯的新手 我正在尝试类型 我的任务是制作一个 洋葱 一个带有两个参数的函数 一个数字和任何东西 并将任何东西放入List嵌套了这么多次 例如 结果为mkOnion 3 Hello World 应该 Hello World 我做了这
  • 在向后传递中调试 nan

    我正在尝试调试一个有点复杂且非规范的神经网络架构 计算前向传递很好 并且给了我预期的结果 但是当我尝试使用 Adam 或任何标准优化器进行优化时 即使在学习率非常小的一次迭代之后 我到处都得到 nan 我正在尝试对它们进行本地化 并且想知道
  • 使用 ffmpeg 垂直或水平堆叠(马赛克)多个视频? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我有两个长度完全相同的视频 我想使用 ffmpeg 将它们堆叠到一个视频文件中 我怎样才能做到这一点 Use the vstack htt
  • 告诉 jQuery 在动画序列期间忽略点击

    我正在为 jQuery 编写一个幻灯片放映应用程序 单击一个按钮 然后滑动浏览图像列表 但是我遇到了一个小错误 它将响应click 即使在动画发生时也发出请求 我正在使用animate 功能已经存在 因此这不会避免额外的动画请求 有什么办法
  • Winforms TextBox 可以设置背景图片吗?

    是否可以更改 Windows 窗体的背景图像TextBox在 C 中 没有BackgroundImage财产 我应该覆盖Paint方法不知何故 这是不可能的 如果您尝试在构造函数中重写 TextBox 并调用 SetStyle Contro
  • $().ready() 和 $(document).ready() 之间有区别吗

    我见过一些代码 他们只是这样做 ready function 这比执行文档选择器要短 但它是同一件事吗 轻微变化 document ready function 等于 function 从 jQuery 1 4 开始 ready funct
  • 我可以在远程/本地接口中使用继承吗? (EJB3)

    一个例子 Remote public interface SomeComponentRemote public Something processStuff Local public interface SomeComponentLocal
  • C# .NET 中的 FLV/F4V 对话库?

    是否有任何库可以在 c NET 中以编程方式将输入视频 某些特定视频文件 转换为 f4v 或 flv 提前致谢 http ffmpegdotnet codeplex com http ffmpegdotnet codeplex com
  • 如何在绘图的 y 轴上显示 % 值?

    在任何 Mathematica 图表或绘图中 如何在 y 轴上显示 值 我可能有这样的数据 data 2010 8 3 0 2010 8 31 0 052208 2010 9 30 0 008221 2010 10 29 0 133203
  • 雪花存储过程 While 函数

    我如何在雪花示例中重新创建 while 函数 WHILE counter lt LastRow BEGIN SELECT DateLoad CONVERT date SUNDAY FROM Staging Stg EC WeeksLoad
  • 如何在 Django 视图中显示 PDF 文件?

    是否可以显示 PDF 文件inDjango 视图 而不是让用户必须下载它才能看到它 如果可能的话 会怎样做 这就是我到目前为止所拥有的 login required def resume request applicant id Get t