【零散技术】Odoo17通过Controller下载PDF

序言:时间是我们最宝贵的财富,珍惜手上的每个时分

Odoo作为一款开源ERP,拥有极佳的拓展性,Odoo的Controller框架也让它具备了作为微信小程序后端的能力,那么就存在 需要通过小程序来下载PDF的业务情况。

目录

1.功能代码

[1.1 manifest 设置](#1.1 manifest 设置)

[1.2 _show_report 参数](#1.2 _show_report 参数)


话不多说,我们直接上代码

1.功能代码

python 复制代码
from odoo.addons.portal.controllers.portal import CustomerPortal
class PODW(CustomerPortal):
    @http.route(['/ro/client/pdf/v1'], type='http', auth="public", website=True, cors='*')
    def RoClientPdfV1(self, **kw):
        model = request.env['ro.order'].sudo().browse(int(kw.get('id')))
        return self._show_report(model=model,
                                 report_type='pdf', report_ref='ro_base.action_ro_report',
                                 download='download')
1.1 manifest 设置

__manifest.py中必须depends【portal】模块

python 复制代码
'''

'author': "成都睿鸥",
'category': '',
'version': '0.1',
'depends': ['mail','portal'],

'''
1.2 _show_report 参数

最关键的方法为 _show_report() ,我们 一定不要搞混了其中的参数,否则将无法下载。

一定要注意的是:report_ref 中的值,是我们打印PDF的action,一定要确认对应模型的打印功能正常,否则无法使用。

在Odoo管理端即可进行打印功能的确认,此处可以打印,那么action即为可用状态。通过访问url,即可下载对应的PDF了

相关推荐
山上春2 天前
Odoo 18 Web 客户端架构深度解析与 Navbar 差异化定制研究报告
odoo
山上春9 天前
ONLYOFFICE Odoo 集成架构深度解析与实战手册(odoo文件预览方案)
架构·odoo
odoo中国13 天前
如何在 Odoo 19 中创建日历视图
odoo·odoo19·odoo 视图开发·日历视图配置·alendar 标签使用·odoo 日程管理
odoo中国17 天前
如何在 Odoo 19 中加载演示数据
xml·csv·odoo·odoo 19·odoo 演示数据加载
odoo中国19 天前
Odoo 19 模块结构概述
开发语言·python·module·odoo·核心组件·py文件按
odoo中国23 天前
如何在 Odoo 中从 XML 文件调用函数
xml·odoo·odoo开发·调用函数
odoo中国1 个月前
Odoo 19 中的基础视图有哪些?
odoo·odoo19·基础视图
李怀瑾1 个月前
在Odoo18中实现多选下拉框搜索功能
odoo
Odoo老杨2 个月前
Odoo全球领先的开源ERP:助力洛民塑料激活民族品牌拓界出海
odoo·erp·中小企业数字化
odoo-卜永4 个月前
odoo阿里云大模型多字段内容翻译
阿里云·odoo·大模型翻译