上QQ阅读APP看书,第一时间看更新
Creating a custom Jinja2 filter
After looking at the previous recipe, experienced developers might wonder why we used a context processor for the purpose of creating a well-formatted product name. Well, we can also write a filter for the same purpose, which will make things much cleaner. A filter can be written to display the descriptive name of a product, as shown in the following example:
@product_blueprint.app_template_filter('full_name') def full_name_filter(product): return '{0} / {1}'.format(product['category'],
product['name'])
This can also be used as follows:
{{ product|full_name }}
The preceding code will yield a similar result as in the previous recipe. Moving on, let's now take things to a higher level by using external libraries to format currency.