How to pass selected, named arguments to Jinja2's include context?

Jinja2 has an extension that enables the with keyword - it won't give you the same syntax as Django, and it may not work the way you anticipate but you could do this:

{% with articles=articles_list1 %}
    {% include "list.html" %}
{% endwith %}
{% with articles=articles_list2 %}
    {% include "list.html" %}
{% endwith %}

However, if list.html is basically just functioning as a way to create a list then you might want to change it to a macro instead - this will give you much more flexibility.

{% macro build_list(articles) %}
    <ul>
        {% for art in articles %}
            <li>{{art}}</li>
        {% endfor %}
    </ul>
{% endmacro %}

{# And you call it thusly #}
{{ build_list(articles_list1) }}
{{ build_list(articles_list2) }}

To use this macro from an included template, view guide here

{% from "build_list_macro_def.html" import build_list with context %}

This way you can pass multiple variables to Jinja2 Include statement - (by splitting variables by comma inside With statement):

            {% with var_1=123, var_2="value 2", var_3=500 %}
                {% include "your_template.html" %}
            {% endwith %}

For readers in 2017+, Jinja as of 2.9 includes the with statement by default. No extension necessary.

http://jinja.pocoo.org/docs/2.9/templates/#with-statement

In older versions of Jinja (before 2.9) it was required to enable this feature with an extension. It’s now enabled by default.