Performance: Custom template filters
Custom template filters affect the rendering speed of templates by adding extra processing during template rendering.
{% load custom_filters %}
{{ value|simple_filter }}{% load custom_filters %}
{{ value|complex_filter }}| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| Heavy custom filter with DB calls | N/A (server-side) | N/A | N/A | [✗] Bad |
| Simple custom filter with fast logic | N/A (server-side) | N/A | N/A | [✓] Good |
my_filters.py inside a templatetags folder:from django import template
register = template.Library()
@register.filter
def double(value):
return value * 2
{{ 5|double }} in a template?from django import template
register = template.Library()
def uppercase(value):
return value.upper()
register.filter('uppercase', uppercase)Pass the test and this pattern moves unknown