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

158
Vistas
Imprima los datos del modelo de Django como matriz de JavaScript

He impreso un bucle for como se muestra a continuación en mi plantilla HTML:

 <td> {% for athlete in booking.athlete.all %} {{athletes.id}} {% endfor %} </td>

La salida en HTML es la siguiente.

 <td> 1 2 3 </td>

¿Es posible hacer que la salida aparezca como [ "1", "2", "3" ], para que luego podamos usar esto como una matriz u objeto JS?

Probé algunas cosas de la Plantilla Django pero no elimina el espacio en blanco adicional.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

La forma más fácil es probablemente usar una etiqueta de plantilla personalizada para obtener la lista de athlete.ids , y luego el filtro json_script para representar esas identificaciones como json.

Supongamos que el nombre de su aplicación es myapp . Si aún no tiene ningún filtro personalizado, cree el directorio myapp/templatetags/ y agregue un archivo __init__.py vacío. Luego, en el archivo myapp/templatetags/myapp_filters.py agregue:

 from django import template register = template.Library() @register.filter def qs_to_id_list(qs): return list(qs.values_list('id', flat=True))

En su ejemplo de plantilla, haría:

 {% load myapp_filters %} {% for booking in bookings %} <tr> <td>{{booking.id}}</td> <td>{{booking.program_type}}</td> <td>{{booking.booking_time}}</td> {# set a unique script id for easier access in javascript #} {% with script_id='athletes-data-'|add:booking.id %} {{booking.athlete.all|qs_to_id_list|json_script:script_id}} {% endwith %} </tr> {% endfor %}

El filtro json_script generará un bloque como este (en cada fila de la tabla):

 <script id="athletes-data-5" type="application/json">[1, 2, 3]</script>

al que se puede acceder en su javascript del lado del cliente.

about 4 years ago · Juan Pablo Isaza 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