【发布时间】:2020-08-20 15:32:48
【问题描述】:
我想在网站上编辑名为我的信息的表单时添加附件,并且我想将附件保存在后端。我在附件表单中添加了输入字段,但是在保存表单时,我没有在后端获取附件。 这是我的代码:-
模板文件:-
<div class="form-group row">
<div class="col-lg-3 col-md-4">
<label class="control-label" for="Attachments">
Attach Files
</label>
</div>
<div class="col-lg-7 col-md-12">
<input id='attachment' type="file"
class="form-control o_website_form_input"
name="attachment" multiple="true"
data-show-preview="true"
accept="application/pdf"/>
</div>
</div>
控制器文件:-
@route(['/path/to/template'], type='http', auth='public', website=True)
def account(self, redirect=None, **post):
values = self._prepare_portal_layout_values()
User = request.env.user
partner = User.partner_id
if post:
print("post::::::::::::::::::::::", post, values)
attachment_ids = []
attachment_list = request.httprequest.files.getlist('attachment')
print("attachment_list::::::::::::::::", attachment_list)
for att in attachment_list:
if post.get('attachment'):
attachments = {
'res_name': att.filename,
'res_model': 'res.partner',
'res_id': partner.sudo().id,
'datas': base64.encodestring(att.read()),
'type': 'binary',
'datas_fname': att.filename,
'name': att.filename,
}
attachment_obj = http.request.env['ir.attachment']
att_record = attachment_obj.sudo().create(attachments)
attachment_ids.append(att_record.id)
if attachment_ids:
values.update({'attachment_ids': [(6, 0, attachment_ids)]})
那么谁能告诉我我缺少什么?
【问题讨论】:
-
您确定该字段在
<form>标签内吗?
标签: templates controller odoo odoo-12