docxtpl库,AttributeError: ‘NoneType‘ object has no attribute ‘current_rendering_part‘报错产生的情况之一

花了好几天的时间,一直被这个问题折磨,在国内论坛上和国外论坛上都没有找到什么解决方法,先说一下我的开发情况吧。(省流版只看标红标粗部分就行)

和上一篇文章一样,在顺利读入表格文字并填入到文档模板里,批量输出理想文档后,我又想在源代码基础上加入往文档标签里添加图片的功能,故我的原代码如下:

思路讲来也简单,就是context里多填入了图片而已,但就上面的代码里一个小小的错误,就导致了一个超级麻烦的错误,如下图:

'current_rendering_part'这玩意可是怎么查都查不到的,看了docxtpl库的源代码也没看出啥结果,反反复复几天,今年终于解决这个问题,其实解决方法很简单,删除多余的某一个语句即可,见下图标识(绿色圆圈):

这个问题的错误就是,我在之前的代码里(第13行,见下图)就把已添加标签的文档导入了,所以在我后续往context里添加图片资源的时候,必然会调用已添加标签的文档(即在InLineImage函数中添加一个tpl参数),但我在后续装填标签的时候(即第129行代码),我又在第128行又导入了一个标签文档,这下就乱套了,第129行代码往文档里的标签添加内容的时候,就搞不清图片到底是要给哪一个文档的标签添加内容了,所以一旦前面导入了已添加标签的文档模板,后续如果再导入一个一模一样变量名的文档模板,就会出图片文件不知道该加入哪个文档标签的情况,也就是'NoneType' object has no attribute 'current_rendering_part'的报错问题。一旦删除了会产生歧义的代码,就没啥问题了。

  • 19
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值