Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

842
Vistas
¿Cómo usar las variables de contexto pasadas desde Django en javascript?

Tengo un método en views.py de la siguiente manera:

 def index(self, request): initial = get_initial() context = {"context" : initial_topics} template = loader.get_template('index.html') return HttpResponse(template.render(context, request))

¿Cómo accedo al dictado de "contexto" en javascript? Como en mi $(función(){});

about 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Puede acceder a la variable de contexto dentro de la etiqueta del script HTML.

Aún así, se aplican algunas reglas:

  1. Si la variable de contexto es una cadena, encierre la variable de contexto entre comillas.
  2. Si la variable de contexto es un dictado o una lista, conviértalos a json en su vista y use el filtro safe :

Advertencia: nunca use un filtro safe en datos que no sean de confianza (como los datos enviados por un usuario). Siempre desinfecte los datos (escape los caracteres no seguros) antes de usar el filtro safe . Lea sobre los ataques XSS para obtener más información.


Ejemplo:

 <script> $(function(){ var my_str = "{{ my_str }}"; var my_dict = {{ my_dict|safe }}; // no quotes here var my_list = {{ my_list|safe }}; // no quotes here }); </script>

Debe convertir las variables dict y list a json en sus vistas porque si hay palabras clave específicas de Python, como True o False o None en el dict, JS no las entenderá y generará un error.

En JS, las palabras clave equivalentes son true , false y null . Por lo tanto, convertir dictados y listas a json transformará los datos en un formato compatible con JS.

Ejemplo:

 import json def my_view(...): my_list = [...] my_dict = {...} context = {'my_list': json.dumps(my_list), 'my_dict': json.dumps(my_dict)} return ...
 var my_list = {{ my_list|safe }}; var my_dict = {{ my_dict|safe }};
about 4 years ago · Santiago Trujillo Denunciar

0

Si el código javascript se encuentra en la plantilla html que se está procesando, puede usarlo de la forma habitual {{ context }} . De lo contrario, declare un global en la plantilla html y acceda a ese global desde su archivo js separado.

about 4 years ago · Santiago Trujillo Denunciar

0

Si desea insertar en Javascript, asegúrese de usar escapejs, y en casos más avanzados, es posible que deba usar JSON.parse;

 var context = "{{ context }}"

Si todavía tiene problemas, intente;

 var context = JSON.parse("{{ context|escapejs }}");

El método JSON.parse() analiza una cadena JSON y construye el valor u objeto de JavaScript descrito por la cadena. Se puede proporcionar una función de reactivación opcional para realizar una transformación en el objeto resultante antes de que se devuelva. doc

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda