Django 中 Pisa 的 pdf 生成未渲染 CSS

2023-11-24

我使用 Pisa 从 HTML 生成 pdf 文件:

def fetch_resources(uri, rel):
    path = os.path.join(settings.MEDIA_ROOT, uri.replace(settings.MEDIA_URL, ""))
    return path

def write_pdf(template_src, context_dict, filename):
    template = get_template(template_src)
    context = Context(context_dict)
    html  = template.render(context)
    result = open(filename, 'wb')
    pdf = pisa.pisaDocument(StringIO.StringIO(
        html.encode("UTF-8")), result, link_callback=fetch_resources)
    result.close()

我的 HTML 有一个指向外部 CSS 的链接,并且已正确呈现,但 Pisa 不使用该 CSS(例如字体大小、表格单元格宽度、文本对齐...)。

<!DOCTYPE html>
<html lang="fr">
<head>
    <link rel="stylesheet" href="/site_media/style/style.css" />
</head>

<body>
....

我错过了什么?

Thanks


你可以尝试这个“Pisa 和 Reportlab 陷阱”我必须添加这个

def fetch_resources(uri, rel):

最重要的是,我仍然在模板中携带所有 CSS。还要确保您正在使用xhtml2pdf而不是旧的 ho.pisa。

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

Django 中 Pisa 的 pdf 生成未渲染 CSS 的相关文章

  • python解释器自动重启而不返回答案

    调用递归函数时 python解释器会自动重新启动吗 我正在编写一个快速排序算法 并尝试对一个大的数字数组 顺序 10 4 进行排序 但是当我尝试对整个数组进行排序时 python 正在重新启动 即给我 重新启动 并且存储在内存中的所有值 函
  • 将 Python 列表(JSON 或其他)插入 MySQL 数据库

    所以我在Python中有一堆数组数据 嗯 相反 我有一个清单 我试图将此数组存储到 MySQL 数据库中的单个单元格中 我尝试使用 JSON 来序列化我的数据 但也许我不明白 JSON 是如何工作的 因此 在连接到我的数据库后 我尝试了上游
  • 初始化整数变量以进行比较

    我正在学习麻省理工学院的开放课件课程计算机科学和 Python 编程简介 https ocw mit edu courses electrical engineering and computer science 6 0001 introd
  • 如何让 ExtJS ComboBox 与文本一起显示?

    我想让以下内容显示在一行中 我尝试过使用样式浮动和显示 Show this input
  • 无法在我的电脑中启动 django 服务器

    我通过以下方式导出了 django 项目的路径 export DJANGO SETTINGS MODULE Users masi Documents Test djangobook ch3 settings 我运行失败 django adm
  • Django 模板:输出带有所有小数位的浮点数

    我如何在 django 模板中输出这个数字 小数位数是可变的 我事先不知道 x 0 000015 1 x 输出是 1 5e 05 2 x stringformat f 输出是 0 000015 这不是本地化的 应该有逗号 我需要对输出进行本
  • setUp() 中的 if 条件忽略测试

    在unittest python库中 存在函数setUp and tearDown用于设置变量和其他测试前后的事情 如何运行或忽略 setUp 中条件的测试 您可以致电if cond self skipTest reason in setU
  • 如何在Python Selenium中获取WebElement的类名?

    我使用 Selenium WebDriver 来抓取从网页中获取的 用 JavaScript 编写的表格 我正在迭代表行列表 每行可能属于不同的类别 我想获取此类的名称 以便我可以为每一行选择适当的操作 table body table f
  • 获取SVG绘图的边界框

    我想提取 SVG 绘图的边界框 由于 Python 已经在系统上可用并且还用于执行其他任务 因此我不想使用 JavaScript 或任何其他语言 我的理解是是否可以计算单个元素的边界框 但我不知道如何计算 整个绘图的边界框只是所有元素的最小
  • 设置引导工具提示上的箭头样式[重复]

    这个问题在这里已经有答案了 我正在尝试使用以下方式设置工具提示样式 tooltip inner 但我遇到了麻烦 因为我找不到如何设置工具提示小箭头的样式 如屏幕截图所示 工具提示的箭头是黑色的 我想在其上添加新颜色 any suggesti
  • 在未运行 python 中的函数的情况下检查了非本地语句[重复]

    这个问题在这里已经有答案了 以前我认为当我们定义一个函数时 该函数可能是错误的 但python在执行之前不会检查它 x 100 def f x 1 0 return x print x gt gt gt 100 然而 当我学习的时候nonl
  • Django 自定义文件存储系统

    我有一个自定义存储 import os from django core files storage import Storage class AlwaysOverwriteFileSystemStorage Storage def get
  • 2D 矩阵上的 Numpy where()

    我有一个像这样的矩阵 t np array 1 2 3 foo 2 3 4 bar 5 6 7 hello 8 9 1 bar 我想获取行包含字符串 bar 的索引 在一维数组中 rows np where t bar 应该给我索引 0 3
  • Django Admin Media 前缀 URL 问题

    我有以下文件夹结构 src BAT templates admin base html src BAT media base css src BAT media admin media base css 设置 py MEDIA ROOT o
  • 仅将唯一行插入 SQLite (python)

    我在用着cursor executemany将 CSV 文件中的批量行插入到 SQLite 表中 根据主键字段 其中一些行预计会重复 当我执行该命令时 可以预见的是 我会收到完整性错误 并且不会插入任何内容 如何有选择地仅插入非重复行 而无
  • 带有远程解释器的 Python 控制台无法在 PyCharm 中接受输入

    我是使用 PyCharm 进行远程开发的新手 我设置了一个远程环境 除了一个例外之外它工作正常 无法在控制台中接受用户输入 在控制台中运行以下语句时 控制台被阻塞 提示 上一个命令仍在运行 请等待或按控制台中的 Control C 来中断
  • 如何在我的 heroku 应用程序上安装软件包?

    我有一个使用 Shortuuid 的应用程序 https pypi python org pypi shortuuid 0 1 https pypi python org pypi shortuuid 0 1 当我使用 runapp py
  • IE10 中的弹性盒

    我试图让弹性框在 IE10 中工作 但它不起作用 Safari Chrome 和 Firefox 工作正常 但 IE10 不工作 有人知道答案吗 代码笔 http codepen io anon pen vcEGH http codepen
  • 评估 df 每行中的日期时间函数是否落在另一个 df 中的日期时间范围内

    我是 python 新手 需要一些帮助来解决有关日期时间函数的问题 I have df a其中有一列标题为time 我正在尝试创建一个新专栏id在这个df a 我想要id根据时间是否包含在某个时间范围内来确定的列df b date 和 da
  • gis计算点和多边形/边界之间的距离

    我想使用 python 计算一个点到一个国家边界之间的距离shapely 它应该工作得很好 point distance poly 例如在这里展示查找多边形形状上最近点的坐标 https stackoverflow com question

随机推荐

  • OSX 上的 Mono:找不到 gtksharpglue-2.dll

    我正在尝试在 C 中完成我的第一步 并希望构建一个空的 GTK 窗口作为我的第一个任务 通过macports我安装了以下软件包 电子邮件受保护 电子邮件受保护 电子邮件受保护 我还使用 Mono 主页上的 MonoDevelop I add
  • “CSS 256 类覆盖一个 ID”背后的规则是什么?

    我最近也遇到过这种情况 但找不到 为什么 谁能解释一下吗 请参阅下面的示例 http codepen io chriscoyier pen lzjqh 发生这种情况是由于浏览器限制 而不是规范或浏览器实现方式中的错误 The spec sa
  • 单击标签时 jQuery Click 会触发两次

    我正在使用 jQuery 创建自定义单选按钮 但遇到了问题 当单击与无线电关联的标签时 单击事件会触发两次 如果我仅单击无线电本身 它工作正常 实际上 我单击的不是无线电 而是包装整个输入和标签的 div 这是代码 HTML div div
  • 如何在vtk中以不同的颜色显示点云?

    我有一个点云 我想在 vtk 中可视化 我想根据某些条件看到它们具有不同的颜色 我正在使用Python 关于如何做到这一点有什么建议吗 多谢 下面是一个根据 z 轴值设置点颜色的示例 import vtk from numpy import
  • 测试与非测试中的 Swift 和 CoreData Casting 问题

    我在 Xcode 6 上使用 SwiftCoreData 我已阅读发行说明并看到了这个issue关于确保使用模块名称 应用程序名称 标记核心数据模型 以便您可以投射NSManagedObject运行时的模型类型 当我这样做时 我可以让应用程
  • 在 Python 中使用 FlexMock 模拟函数?

    我知道如何使用 flexmock 在 Python 中模拟方法 例如 flexmock subprocess should receive call replace with my func 一个模拟如何在对象之外发挥作用 或者例如glob
  • 将 C++ 成员函数指针传递给 STL 算法

    我有一个成员函数如下 class XYZ public float function float x private float m DensityMin float m DensityMax 现在 我正在努力改变一个std vector
  • Linux Open Suse“pyodbc.Error: ('01000',“[01000] [unixODBC][驱动程序管理器]无法打开 lib 'SQL Server': 文件未找到 (0) (SQLDriverConnect)")"

    我知道以前有人问过这个问题 但我从未真正得到可以解决我的问题的正确答案 我正在尝试从 Linux Open Suse12 4 计算机连接到 Windows 计算机上的 SQL 服务器 pyodbc connect DRIVER SQL Se
  • 如何在 mongoDB 中编写联合查询

    是否可以使用类似于 SQL 查询的 2 个或更多集合在 Mongo DB 中编写联合查询 我正在使用 spring mongo 模板 在我的用例中 我需要根据某些条件从 3 4 个集合中获取数据 我们可以通过一次操作实现这一目标吗 例如 我
  • IIS8.5自动更改物理路径属性

    我在 IIS8 5 中的默认网站下添加了几个应用程序 仅端口 80 IP 上的 http 它们指向不同的物理路径 不是嵌套的 并且在添加此类应用程序后效果很好 但过了一会儿 其中一个应用程序的物理路径会自动更改为另一个应用程序的物理路径 为
  • 在 Javascript 闭包中访问“this”

    这更像是一次健全性检查 我发现在 Javascript 中使用闭包时 我经常使用以下模式从函数内访问封闭类 MyClass prototype delayed foo function var self this setTimeout fu
  • Grep 并打印返回引用

    我有这个 iptable 日志 Feb 25 10 32 48 XXX 414645 555838 FW DEN TCP IN eth0 OUT MAC XYZ SRC 1 1 1 1 DST 2 2 2 2 LEN 40 TOS 0x00
  • 如何求椭圆的半轴长度?在R中

    我有这组 x 和 y 坐标 x lt c 1 798805 2 402390 2 000000 3 000000 1 000000 y lt c 0 3130147 0 4739707 0 2000000 0 8000000 0 10000
  • WCF 中出现带有“无法识别序列”消息的 CommunicationException

    我在使用 WCF 服务时收到 CommunicationException 消息是 远程端点不再识别该序列 这很可能是由于远程端点上的中止造成的 wsrm Identifier 的值不是已知的序列标识符 可靠会话出现故障 调用合约方法后不久
  • 包括换行符在内的任何字符 - Java Regex

    我想这可能是 n 但这似乎不起作用 点不能在字符类内部使用 查看选项图案 DOTALL Pattern DOTALL启用 dotall 模式 在 dotall 模式下 表达式 匹配任何字符 包括行终止符 默认情况下 此表达式不匹配行终止符
  • 调用 dlclose(NULL) 安全吗?

    当我经过某个地方时 我经历了一次车祸null指向dlclose 我应该在调用之前检查 null 吗dlclose POSIX 对此没有任何说明 http pubs opengroup org onlinepubs 7908799 xsh d
  • 每行具有动态列数的 GridView

    如何在 a 的帮助下重新创建以下视图GridView 列表中的项目数是动态的 我猜想这不是单个GridView而是多个Layout的组合 只需制作一个 LinearLayout 并根据内容决定您想要在一行中使用哪种布局
  • 尝试通过 FTP 传输带有特殊字符的文件

    我有代码 FtpWebRequest request FtpWebRequest FtpWebRequest Create url request Method WebRequestMethods Ftp DownloadFile requ
  • 如何将联系人或短信作为 .xml 文件或 .csv 文件备份到 SD 卡并在以后恢复

    我正在尝试在我的应用程序中开发一项功能 将短信和联系人以 xml 或 csv 格式备份到 SD 卡 并在以后恢复 所以请任何人给我一些建议或一些示例代码或与此相关的任何资源链接 提前致谢 public ArrayList
  • Django 中 Pisa 的 pdf 生成未渲染 CSS

    我使用 Pisa 从 HTML 生成 pdf 文件 def fetch resources uri rel path os path join settings MEDIA ROOT uri replace settings MEDIA U