Mastering XPath Expressions in Odoo QWeb Attributes

A Developer’s Guide

Muhammad Abdullah Arif
4 min readOct 4, 2024

Hey Odoo enthusiasts! 🎉

If you’re working with Odoo, chances are you’ve encountered QWeb templates — the core of Odoo’s front-end customization. To make those templates work seamlessly with dynamic content, XPath expressions become your best friend. Today, I’m excited to dive into the world of XPath expressions in Odoo’s QWeb attributes, guiding you through how they work and why they’re so powerful.

Here’s a collection of essential XPath expressions that will help you customize your templates like a pro. Let’s explore! 🔍

1. Targeting Specific Template Outputs

Expression: expr="//t[@t-out='0']"
This selects all <t> tags where the t-out attribute is set to '0'. This expression is perfect for filtering template outputs and ensuring you're targeting exactly the right parts of your code.

2. Working with JavaScript Files

Expression: expr="//head/script[@id='web.layout.odooscript']"
Need to manipulate JavaScript within a QWeb template? This XPath expression will find a <script> tag inside the <head> that has a specific ID. It's a great way to pinpoint scripts and ensure they’re handled correctly.

--

--

Muhammad Abdullah Arif
Muhammad Abdullah Arif

Written by Muhammad Abdullah Arif

Python developer. The facts are the facts but opinions are my own.