Getting Started with Flask Templates: Jinja2 Variables and Control Structures

This article introduces the basic usage of the Jinja2 engine in the Flask template system, which helps dynamically display data on web pages. The core content includes: 1. **Jinja2 Variables**: Data is passed from the backend view function via `render_template`, and variables in the template are rendered using `{{ variable_name }}`. It supports various types such as strings, numbers, lists, and dictionaries. An example demonstrates variable rendering through user information (name, age, hobby list). 2. **Control Structures**: Conditional judgments use `{% if ... %}` (e.g., checking if age is adult), and loops use `{% for ... %}` (iterating over a list). The `loop` variable (e.g., `loop.first`, `loop.last`) is utilized to optimize iteration logic. 3. **Filters**: Variables are processed using the `|` syntax, such as `upper` for uppercase conversion, `round` for rounding, and `safe` for rendering HTML (with security precautions noted). The article summarizes the core methods to achieve page dynamicity through variables, control structures, and filters, laying the foundation for advanced template features like inheritance and macros.

Read More
Beginners' Guide: Variables and Loop Syntax in Django Template Engine Jinja2

This article introduces the core syntax of variables and loops in the Django template engine Jinja2. The template engine combines backend data with HTML templates to generate web pages. As Django's default engine, Jinja2 is the focus here, with emphasis on variables and loops. Variable syntax: Variables are enclosed in double curly braces {{}}. They support strings, numbers, booleans, and lists (displayed directly). Dictionaries can be accessed using dot notation (.) or square brackets ([]), such as {{ user.name }} or {{ user["address"]["city"] }}. Note that undefined variables will cause errors, and variables in templates are not modifiable. Loop syntax: Use {% for variable in list %} to iterate. It is accompanied by forloop.counter (for counting), first/last (for marking the first and last elements), and {% empty %} to handle empty lists. Examples include looping through lists or lists of dictionaries (e.g., each dictionary in a user list). Summary: Mastering variables and loops enables quick data rendering. Subsequent articles will cover advanced topics such as conditions and filters.

Read More