Is there a way to pass variables into Jinja2 parents?

You just need to declare that variable before extending the template, so the extended template will have access to to the variable trying

{% set trying = True %}  <----------- declare variable

{% extends "/templates/template.html" %}
{% set title = "Welcome" %}
{% block head %}
{% endblock head %}
{% block content %}
{% endblock content %}

Few years later but hoping it may help latecomers


I think that you are looking to highlight active menus in the base layout and you need something like this

{% extends 'base.html' %}
{% set active = "clients" %}

then use can use "active" inside base.html


The example on the Jinja2 Tips and Tricks page explains this perfectly, http://jinja.pocoo.org/docs/templates/#base-template. Essentially, if you have a base template

**base.html**
<html>
    <head>
        <title> MegaCorp -{% block title %}{% endblock %}</title>
    </head>
    <body>
        <div id="content">{% block content %}{% endblock %}</div>
    </body>
</html>

and a child template

**child.html**
{% extends "base.html" %}
{% block title %} Home page {% endblock %}
{% block content %}
... stuff here
{% endblock %}

whatever python function calls render_template("child.html") will return the html page

**Rendered Page**
<html>
    <head>
        <title> MegaCorp - Home page </title>
    </head>
    <body>
        <div id="content">
            stuff here...
        </div>
    </body>
</html>