通过website controller获取csrf_token - xiaohao0576/odoo-doc GitHub Wiki

注意: 要使用sudo,否则会因为权限不够找不到partner

chat_id = request.httprequest.args.get('chat_id', '0')

partner = env['res.partner'].sudo().search([("x_studio_tg_chat_id", "=", chat_id)], limit=1)

if partner:
    # 生成 CSRF token
    csrf_token = request.csrf_token()
    
    # 返回 JSON 响应
    response_data = {
        'status':'ok',
        'csrf_token': csrf_token,
        'session_id': request.session.sid,
        'partner_id': partner.id,
        'partner_name': partner.name
    }
else:
    # 返回 JSON 响应
    response_data = {
        'status':'error',
        'message':'can not find partner!'
    }


response = request.make_json_response(response_data)