Ver Mensaje Individual
  #3 (permalink)  
Antiguo 01/12/2013, 15:54
Avatar de razpeitia
razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Repetir for en columnas

Esto no es problema de django o de python.

Parece mas bien problema de tu CSS.

O si prefieres usar <table> para tabular tus datos sería mas conveniente.

Código Python:
Ver original
  1. <table>
  2. {% for post in post.object_list %}
  3.   {% if condicion_para_abrir_tag %}
  4.   <tr>
  5.   {% endif %}
  6.     <td>{{ post }}</td>
  7.   {% if condicion_para_cerrar_tag %}
  8.   </tr>
  9.   {% endif %}
  10. {% endfor %}
  11. </table>

Obviamente tienes que sustituir condicion_para_abir_tag y condicion_para_cerrar_tag, con las condiciones que satisfagan eso.

Otra manera
Código Python:
Ver original
  1. <table>
  2. {% for post_sublist in post.object_list %}
  3.   <tr>
  4.     {% for article in post_sublist %}
  5.       <td>{{ article }}</td>
  6.     {% endfor %}
  7.   </tr>
  8. {% endfor %}
  9. </table>
No recomiendo esto, porque estarías metiendo lógica de presentación en la lógica de negocios. Si algún día quieres que ahora sean 2 columnas, tienes que cambiar el código de la vista y no el html.

La tercera opción (y la mas recomendable) es simplemente usar CSS.
No soy un experto, pero meterías todo en div con cierto ancho y a cada articulo le das el ancho suficiente para que solo quepan 3 en todo lo ancho y los demás pasan abajo.

Puedes usar las grids de bootstrap como ejemplo. http://getbootstrap.com/css/#grid