是否可以在xml模板中获取网页网址?
<field name="body_html">
<![CDATA[
<p>Get url here</p>
]]>
</field>
注意:
$ {object.id}
返回id例如。 10
答案 0 :(得分:3)
在我看来,QWeb在执行Python中的简单操作时会有一些后退,例如访问env
到browse
,search
或获取其他内容像dbname
这样的数据或像base_url
这样的公司参数。
我过去所做的只是创建一个帮助,让Python为你做脏工作,这样你就可以保持QWeb简单。
<强> your_module /助手/ mixins.py 强>
class CanGenerateUrl:
def generate_url(self):
"""
Build the URL to the record's form view.
- Base URL + Database Name + Record ID + Model Name
:param self: any Odoo record browse object (with access to env, _cr, and _model)
:return: string with url
"""
self.ensure_one()
base_url = self.env['ir.config_parameter'].get_param('web.base.url')
if base_url and base_url[-1:] != '/':
base_url += '/'
db = self._cr.dbname
return "{}web?db={}#id={}&view_type=form&model={}".format(base_url, db, self.id, self._model)
<强> your_module /模型/ model.py 强>
from openerp.addons.your_module.helpers.mixins import CanGenerateUrl
class YourModel(models.Model, CanGenerateUrl):
<强> your_module /视图/ report.xml将强>
<p><a href="${object.generate_url()}">${object.name or 'None'}<a/></p>