odoo qweb 时间格式转换

本文介绍了如何在Odoo的QWeb模板中进行时间格式转换,特别是针对UTC-0时间到本地时间的转换。内容涉及到在Ubuntu 16.04服务器上处理DB表中如write_date字段的时间一致性问题。提供了相应的代码参考,帮助读者理解在Odoo v12报告中如何格式化date和datetime字段。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

odoo qweb 时间格式转换

qweb display localized date

为了DB表中write_date等字段的时间一致性,Ubuntu16.04服务器采用UTC-0。当直接通过controllers写PY时调用 qweb模板,读取的是UTC-0的时间,需要转为本地时间。如下图所示:

代码如下:

<span t-esc="yqfk.time + datetime.timedelta(hours=8)"/>

 

参考:

对于那些从搜索引擎到达这里的人,您可以使用小部件控制表单字段中日期的显示。

<field name="date_planned" widget="date"/>

要么,

<field name="date_planned" widget="datetime"/>

在v12中,date

Odoo中,QWeb(Quick Web)是用于创建动态网页模板的语言,而PDF生成通常依赖于Report模块,它允许你在打印报告时添加自定义元素。如果你想在生成的PDF底部添加印章,你可以通过以下步骤实现: 1. **模板设计**: - 在QWeb模板文件(`.xml`)里,找到`<t template="report_name.report_template">`部分,这里应该包含生成PDF的内容。 2. **添加HTML元素**: - 使用Odoo QWeb提供的`<t t-if="condition_for_footer" />`条件标签,在满足特定条件时插入底部内容,比如: ```xml <div t-if="has_stamp"> <!-- 印章HTML代码 --> <img t-att-src="path_to_stamp_image" t-att-width="stamp_width" t-att-height="stamp_height" /> </div> ``` - `has_stamp`是一个布尔表达式,可以根据需要设置是否显示印章。 3. **脚本控制**: - 在Python模型或者相关的视图中,编写计算`has_stamp`值的逻辑。例如,如果需要在特定操作后添加印章,可以在`report_sudo()`方法中实现: ```python def report_sudo(self): # 检查条件并决定是否添加印章 if self.some_condition(): self.context.update({'has_stamp': True}) return super().report_sudo() ``` 4. **调用报告**: - 在需要生成带印章PDF的地方,正常调用报告生成函数,并传递`context`更新后的信息。 记得在实际应用中替换路径、宽度、高度以及具体的条件检查。如果你的印章是图片格式,确保提供正确的URL路径或文件存储位置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值