将渲染的 pdf 文件保存到模型字段 Django

2024-03-10

我现在正在尝试将使用 HTML 呈现的 pdf 文件保存到模型字段,它会抛出此错误。

强制转换为 Unicode:需要字符串或缓冲区,已找到实例

这是代码

def save_to_pdf(template_src, context_dict, pk):
    import ipdb; ipdb.set_trace()
    instance = get_object_or_404(
        Project.objects.filter(pk=pk, is_deleted=False))
    template = get_template(template_src)
    context = Context(context_dict)
    html  = template.render(context)
    result = StringIO.StringIO()
    pdf = pisa.pisaDocument(StringIO.StringIO(html.encode("ISO-8859-1")), result,link_callback=fetch_resources)
    pdfnew=file(pdf)
    instance.structural_info.save('structure.pdf',pdfnew)
    return True

Structured_info 是文件字段。 正确的做法是什么?


如果你看一下API 文档 文档 https://docs.djangoproject.com/en/2.1/ref/models/fields/#django.db.models.fields.files.FieldFile.save:

请注意,内容参数应该是一个实例 django.core.files.File,不是Python的内置文件对象。你可以 从现有的 Python 文件对象构造一个文件,如下所示

from django.core.files import File
# Open an existing file using Python's built-in open()
f = open('/path/to/hello.world')
myfile = File(f)

so if pdf是一个你可以使用的字符串:

from django.core.files.base import ContentFile
myfile = ContentFile(pdf)
instance.structural_info.save('structure.pdf', myfile)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将渲染的 pdf 文件保存到模型字段 Django 的相关文章

  • 将文件标记为从 Python 中删除?

    在我的一个脚本中 我需要删除当时可能正在使用的文件 我知道我无法删除正在使用的文件 直到它不再使用为止 但我也知道我可以将该文件标记为由操作系统 Windows XP 删除 我将如何在 Python 中做到这一点 以及另一个不依赖于 pyw
  • Python实时读取串口数据

    我正在使用 Python 中的脚本通过串行端口以 2Mbps 的速度从 PIC 微控制器收集数据 PIC 在 2Mbps 下完美定时工作 FTDI USB 串行端口在 2Mbps 下工作也很好 均通过示波器验证 我每秒发送消息 大小约为 1
  • Pygooglevoice登录错误

    另一个人问了这个问题 但没有回复 所以我再问一遍 我正在尝试使用 pygooglevoice API 但是当我运行 SMS py 示例脚本时 它给了我一个登录错误 我已经安装了 Enthought python 我想也许我还需要安装其他东西
  • 使用 matplotlib 设置或固定二元分布值

    I ve animated a bivariate gaussian distribution using matplotlib 我已经计算过这个distribution通过调整COV matrix来考虑特定的变量 我可以提供有关此过程的更
  • django ajax post 403被禁止

    使用 django 1 4 当我尝试从我的 javascript 做我的 django 服务器上的帖子时 我收到 403 错误 我的 get 工作正常 尽管问题仅出在帖子上 也尝试过 csrf exempt但没有运气 更新 我现在可以发布我
  • 导入我自己的模块时出现“ImportError:没有名为...的模块”

    我正在尝试导入模块 但不断收到导入错误 在 PortfolioStatus py 文件中 我有以下代码 它从 share data py 模块导入 share data 类 from Shares share data import sha
  • 收到“/:未找到事件。”使用 PyCharm 远程调试器时

    当我使用 PyCharm 通过 ssh 进行远程调试时tcsh shell 服务器 很多时候它停止工作 并显示 未找到事件 更具体地说 我在 pycharm 调试控制台中遇到以下内容 ssh username hostserver 22 p
  • 尝试将 cuda 与 pytorch 一起使用时出现运行时错误 999

    我为我的 Geforce 2080 ti 安装了 Cuda 10 1 和最新的 Nvidia 驱动程序 我尝试运行一个基本脚本来测试 pytorch 是否正常工作 但出现以下错误 RuntimeError cuda runtime erro
  • Python itertools groupby 中令人不安的奇怪行为/错误?

    我在用itertools groupby解析一个短的制表符分隔的文本文件 文本文件有几列 我想做的就是对具有特定值的所有条目进行分组x在特定的列中 下面的代码对名为的列执行此操作name2 寻找变量中的值x 我尝试使用以下方法来做到这一点c
  • 在 Rails 中强制内联渲染 PDF 文档

    我正在编写一个从一组 XML 文件生成 PDF 文件的服务 正在正确生成 PDF 但是 每次我单击 查看 PDF 链接时 浏览器都会要求用户下载 PDF 文件 我需要 PDF 内联显示 就像任何常规 HTML 页面一样 我虽然我写的代码是正
  • 执行许多插入重复键更新错误:未使用所有参数

    所以我一直在尝试使用 python 2 7 15 使用 mysql connector 执行此查询 但由于某种原因 它似乎不起作用并且总是返回错误 并非所有参数都被使用 表更新有一个主键 即 ID 这是我尝试运行此 SQL 的查询 sql
  • 如何使用 PyAudio 选择特定的输入设备

    通过 PyAudio 录制音频时 如何指定要使用的确切输入设备 我的电脑有两个麦克风 一个内置 一个通过 USB 我想使用 USB 麦克风进行录音 这流类 https people csail mit edu hubert pyaudio
  • 设置字符串中单词或字符数的限制

    假设我有一个字符串元素列表 wordlist hi what s up home diddle mc doo Oh wise master kakarot hello have a da 我希望列表中的每个元素最多包含 3 个单词或 20
  • PyMC3 和 Theano - 导入 pymc3 后,有效的 Theano 代码停止工作

    一些简单的 theano 代码可以完美运行 当我导入 pymc3 时停止工作 这里有一些片段可以重现错误 Initial Theano Code this works import theano tensor as tsr x tsr ds
  • float() 参数必须是字符串或数字,而不是“时间戳”

    我无法使 scilearn 与日期时间系列一起工作 找到了这篇文章 但对我没有帮助 Pandas 类型错误 float 参数必须是字符串或数字 https stackoverflow com questions 41256626 panda
  • 无法在 MARSHAMALLOW 文件选择器中选择 pdf、doc、ppt 等文件

    我正在使用我的 Android 应用程序将 pdf ppt doc 等文件上传到服务器 但在 Marshmallow 中 当文件选择器打开并且我浏览我的 Sdcard 或内部存储时 存在两个问题 1 它显示了所有我无法选择的文件 例如图像
  • 将同一 numpy 数组的两个视图组合成单个视图而不复制数组?

    我有一个大型 2d numpy 数组 我想删除它的子集并处理函数剩下的内容 我需要对许多子集执行此操作 因此理想情况下我不想每次都创建数组的副本 该函数不会更改数组中的任何值 mat np load filename mat 1 mat i
  • Python Web 编程的不同方法的优缺点

    我想使用 Python 编写一些服务器端脚本 但我对这样做的方法有点迷失了 它从 DIY CGI 方法开始 似乎以一些相当强大的框架结束 这些框架基本上可以自己完成所有工作 中间有很多东西 比如web py http webpy org P
  • 真实值与预测值的降维可视化

    我有一个数据框 如下所示 label predicted F1 F2 F3 F40 major minor 2 1 4 major major 1 0 10 minor patch 4 3 23 major patch 2 1 11 min
  • 使用 TkInter 绑定设置不可交互(点击)覆盖

    我已经浏览了其他几篇关于类似问题的帖子 所有这些似乎都指向this https stackoverflow com questions 29458775 tkinter see through window not affected by

随机推荐