Foros del Web » Programando para Internet » Python »

Recorrer diccionarios en templates de Django

Estas en el tema de Recorrer diccionarios en templates de Django en el foro de Python en Foros del Web. Buenas noches, estoy tratando de iterar sobre un diccionario en un template de Django pero no soy capaz de conseguirlo. Tengo un diccionario así: @import ...
  #1 (permalink)  
Antiguo 22/11/2011, 16:06
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 14 años, 6 meses
Puntos: 310
Recorrer diccionarios en templates de Django

Buenas noches, estoy tratando de iterar sobre un diccionario en un template de Django pero no soy capaz de conseguirlo. Tengo un diccionario así:
Código Python:
Ver original
  1. coords = {
  2.     'foo' : [[x, y], [x, y]],
  3.     'bar' : [[x, y]]
  4.     # ...
  5. }
Donde x e y son coordenadas. En el template hago esto:
Código Django:
Ver original
  1. var asignaturas = {
  2.                     {% for asign, coord in data.coords %}
  3.                         '{{ asign }}' : [{{ coord }}],
  4.                     {% endfor %}
  5.                 }
Esto en Python no me ha funcionado, pero según las docs de Django al hacerlo así debería iterar sobre cada par key:value. Sin embargo, itera sólo sobre el key:
Código:
# Ej: Filosofía
'F' : [i],
Entonces probé a usar iteritems:
Código Python:
Ver original
  1. # ...
  2. data['coords'] = coords.iteritems()
Y funciona mejor, pero sin hacerlo del todo:
Código:
# Ej: Filosofía
'' : [[[16, 7.5]]],
# Ej: FyQ
'FyQ' : [[[23, 9.5]]],
Si tiene un acento no me saca el key D: Entonces mi pregunta es, ¿cómo itero sobre un diccionario en un template de Django?
Gracias de antemano.
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #2 (permalink)  
Antiguo 22/11/2011, 16:55
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 9 meses
Puntos: 1360
Respuesta: Recorrer diccionarios en templates de Django

Así iteras sobre un diccionario.
Código Python:
Ver original
  1. {% for key,value in dictionary.items %}
  2.     {{ value }}
  3. {% endfor %}

Por lo que veo a ti te falta el .items
  #3 (permalink)  
Antiguo 22/11/2011, 17:37
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 14 años, 6 meses
Puntos: 310
Respuesta: Recorrer diccionarios en templates de Django

Oh claro, el .items no era parte del ejemplo, sino que había que incluirlo De todas maneras debe de usar igual el iteritems porque me pasa lo mismo: si el key tiene un acento me sale un string vacío D: ¿Más problemas con el coding?
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #4 (permalink)  
Antiguo 26/11/2011, 14:40
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 14 años, 6 meses
Puntos: 310
Respuesta: Recorrer diccionarios en templates de Django

Al final pude arreglarlo usando listas en vez de un diccionario, y resultó que me era más útil incluso para el JS Sin embargo, me quedo con la duda de qué es lo que pasaba con los keys del diccionarios
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red

Etiquetas: diccionarios, django, templates, usar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:32.