Odoo v10技术问询:如何在表单中显示当前登录用户的邮箱?
获取当前会话用户的邮箱地址(替代用户ID)
嘿,很高兴能帮到你!要从当前会话获取用户邮箱,其实只需要先通过已有的request.session.uid拿到用户ID,再用这个ID去查询对应的用户记录,最后取出邮箱字段就可以了。
具体实现示例
在你的输入框里,可以这样修改:
<input type="text" class="form-control form-control-lg" name="current_user_email" readonly="1" t-att-value="request.env['res.users'].browse(request.session.uid).email"></input>
简单解释一下
request.env['res.users']:这是Odoo中用户模型(res.users)的环境对象,用来操作用户数据。.browse(request.session.uid):通过用户ID(request.session.uid)获取到对应的用户记录。.email:直接访问用户记录的邮箱字段,拿到你需要的邮箱地址。
额外小提示
如果担心用户未登录的情况(request.session.uid为空),可以加个判断避免报错:
<input type="text" class="form-control form-control-lg" name="current_user_email" readonly="1" t-att-value="request.session.uid and request.env['res.users'].browse(request.session.uid).email or ''"></input>
这样就能完美替换原来的用户ID,显示当前登录用户的邮箱啦!
内容的提问来源于stack exchange,提问作者YamK
相关产品推荐
相关产品推荐

