Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is django can modify variable value in template?

I want to write a template that renders something only one time.

My idea is to create a flag variable to check it is the first time.

My code

{% with "true" as data %}
    {% if data == "true" %}
        //do something
        ** set data to "false" **
    {% else %}
        //do something
    {% endif %}
{% endwith %}

I don't know How to change a variable in django template. Is it possible? Or is there a better way to do this?

like image 473
Wiriya Rungruang Avatar asked Aug 10 '15 09:08

Wiriya Rungruang


1 Answers

NIKHIL RANE's answer doesn't work for me. Custom simple_tag() can be used to do the job:

@register.simple_tag
def update_variable(value):
    """Allows to update existing variable in template"""
    return value

and then use it like this:

{% with True as flag %}
    {% if flag %}
        //do somethings
        {% update_variable False as flag %}
    {% else %}
        //do somethings
    {% endif %}
{% endwith %}
like image 194
polart Avatar answered Sep 25 '22 02:09

polart