Explain Basic Template Tags and Filters.

3.A] Explain Basic Template Tags and Filters.

Answer:

Template Tags

Template Tags: Used for controlling the flow and logic in templates. They perform actions such as conditionals, loops, and including other templates.

  1. {% if %}: Conditional Rendering
    Purpose: Renders content based on a condition.
    Example:
{% if user.is_authenticated %}
    <p>Welcome, {{ user.username }}!</p>
{% else %}
    <p>Please log in.</p>
{% endif %}

Explanation: Displays a welcome message if the user is authenticated; otherwise, it prompts the user to log in.

2. {% for %}: Looping
Purpose: Iterates over a list or queryset and renders content for each item.
Example:

<ul>
    {% for item in items %}
        <li>{{ item.name }}</li>
    {% endfor %}
</ul>

Explanation: Loops through the items list and creates a list item (<li>) for each item.

3. {% include %}: Including Templates
Purpose: Includes another template within the current template.
Example:

{% include 'header.html' %}

Explanation: Inserts the content of header.html into the current template.

4. {% block %}: Template Inheritance
Purpose: Defines a block that can be overridden in child templates.
Example:

<!-- base.html -->
<!DOCTYPE html>
<html>
<head>
    <title>{% block title %}My Site{% endblock %}</title>
</head>
<body>
    {% block content %}{% endblock %}
</body>
</html>

Explanation: Provides a structure for templates. home.html can extend this and override the title and content blocks.

5. {% url %}: Reverse URL Resolution
Purpose: Generates a URL for a given view name.
Example:

<a href="{% url 'view_name' %}">Go to view</a>

Explanation: Generates the URL for the view named 'view_name', which is useful for avoiding hard-coded URLs.

Template Filters

Template Filters: Used for modifying the appearance of variables. They format data, such as changing case, formatting dates, and providing default values.

  1. {{ value|lower }}: Convert to Lowercase
    Purpose: Converts text to lowercase.
    Example:
{{ message|lower }}

Explanation: Displays the message in all lowercase letters.

2. {{ value|date:"F j, Y" }}: Format Date
Purpose: Formats a date according to a specified format.
Example:

{{ some_date|date:"F j, Y" }}

Explanation: Displays some_date in a format like “August 7, 2024”.

3. {{ value|default:"default value" }}: Default Value
Purpose: Provides a default value if the original value is empty.
Example:

{{ user.name|default:"Anonymous" }}

Explanation: Displays "Anonymous" if user.name is not available or is empty.

4. {{ value|length }}: Length of List or String
Purpose: Gets the length of a list or string.
Example:

{{ my_list|length }}

Explanation: Displays the number of items in my_list or the length of a string

5. {{ value|safe }}: Mark as Safe HTML
Purpose: Marks a string as safe for HTML output.
Example:

{{ safe_html|safe }}

Explanation: Renders safe_html as HTML without escaping it. Use with caution to avoid XSS vulnerabilities.

Leave a Reply

Your email address will not be published. Required fields are marked *