odoo 网页输出 输出到url

# no print start
file = StringIO()
cavans = report.DrawVca(file)
cavans.draw(new_data)
file.seek(0)
pdf_data = file.read()
file.close()

datas = base64.encodestring(pdf_data)
filename = self.name + '.pdf'

attach_vals = {
'name': self.name,
'datas': datas,
'datas_fname': filename,
'res_id': self.id,
'public': True
}

doc = self.env['ir.attachment'].search([('name', '=', self.name)])
if doc:
doc.unlink()

doc = self.env['ir.attachment'].create(attach_vals)

web_url = self.env['ir.config_parameter'].get_param('web.base.url')
content_url = '/web/content/%s/%s' % (doc.id, filename)
url = web_url + content_url

_logger.info('attachment %s, doc_id is %s, url is %s' % (doc, doc.id, url))

return {
'type': 'ir.actions.act_url',
'url': url,
'target': 'new',
}
原文地址:https://www.cnblogs.com/tank-/p/7345193.html