Skip to content


Barcode Generation

Both report and label templates can render custom barcode data to in-line images.


Barcode data must be rendered inside an <img> tag.

Inside the template file (whether it be for printing a label or generating a custom report), the following code will need to be included at the top of the template file:

<!-- Load the barcode helper functions -->
{% load barcode %}

1D Barcode


One dimensional barcodes (e.g. Code128) are generated using the python-barcode library.

To render a 1D barcode, use the barcode template tag, as shown in the example below:

<!-- Don't forget to load the barcode helper! -->
{% load barcode %}

<img class='custom_class' src='{% barcode "12345678" %}'>

The default barcode renderer will generate a barcode using Code128 rendering. However other barcode formats are also supported:

{% load barcode %}

<img class='custom_class' src='{% barcode "12345678" barcode_class="Code39" %}>

You can also pass further python-barcode supported parameters as well:

{% load barcode %}

<img class='barcode' src='{% barcode part.IPN barcode_class="Code128" write_text=0 background="red" %}'>



Two dimensional QR codes are generated using the qrcode library.

To render a QR code, use the qrcode template tag:

{% load barcode %}

<img class='custom_qr_class' src='{% qrcode "Hello world!" %}'>

Additional parameters can be passed to the qrcode function for rendering:

<img class='custom_qr_class' src='{% qrcode "Hello world!" fill_color="green" back_color="blue" %}'>


Refer to the qrcode library documentation for more information