A common question among beginners is how to perform numeric computations such as finding percentages in templates. As a design philosophy, the template system does not intentionally allow the following:
- Assignment to variables
- Function call arguments
- Advanced logic
This decision was made to prevent you from adding business logic in templates. From my experience with PHP or ASP-like languages, mixing logic with presentation can be a maintenance nightmare. However, you can write custom template tags (which will be covered shortly) to perform any computation, especially if it is presentation-related.
Best Practice
Keep business logic out of your templates.
Despite this advice, some prefer a slightly more powerful templating engine. In which case, Jinja2 might be what you need.