Como podemos acceder a una variable en la parte JS como "{{vaiable_name}}"
. ¿Cómo podemos actualizar el valor de variable_name
dentro del javascript?
Digamos que el código se verá así,
{% if variable_name %} <p> Condition is true </p> {% endif %}
Una forma es inyectar un pequeño Javascript a través del motor de plantillas de Django, con {{variable}} sustitución.
Mi propia base.html contiene
<script type="text/javascript"> $(document).ready( function() { {% block onready_js %}{% endblock onready_js %} }); </script>
y luego en cualquier plantilla que extienda base.html donde quiero pasar valores variables, simplemente puedo codificar
{% block onready_js %} /* some JS with Django substitutions */ var foo = "{{foo}}"; ... {% endblock %}
¡Lo único que debe recordar es que su JS no debe contener llaves abiertas o cerradas consecutivas sin un espacio entre ellas!
(Si el bloque no está definido, entonces base.html define una función nula que se ejecutará cuando el documento esté listo)
puede agregar una etiqueta de intervalo con una identificación y luego apuntar a la identificación dentro de javascript
<span id='django_variable_id'>{{variable_name}}</span> <script> function update_django_variable(new_var){ /* get the span element */ var span = document.getElementById('django_variable_id'); /* set new var here */ span.innerText = new_var; } </script>
o también funcionará siempre que no haya otras variables con este nombre
<span id='var_{{variable_name}}'>{{variable_name}}</span> <script> function update_django_variable(new_var){ /* get the span element */ var span = document.getElementById('var_{{variable_name}}'); /* set new var here */ span.innerText = new_var; } </script>