[pyar] Separación de lógica y presentación en Django
Federico Heinz
fheinz en vialibre.org.ar
Mar Sep 7 21:08:00 ART 2010
On 07/09/2010, Ale wrote:
> una que se me ocurre es que hagas un filtro[0] de django que haga
> justamente lo que haría get_class()
> <td class={{ foo|get_class }}>
Revisándolo, me dí cuenta de que sí, lo que necesito es un filtro...
pero uno menos hardwired que el que proponías, que me permita
escribir esto:
<td class="{{foo.type|select:'c1|c2|c3|c4'}}">{{foo.name}}</td>
De esa manera, me queda *todo* lo que tiene algo que ver con la
presentación dentro del template, que es lo que yo quería.
El filtro me quedó así:
from django import template
register = template.Library()
@register.filter
def select(index, values):
"""
Select one of several alternative texts based on an index
"""
v = values.split('|')
try:
return v[index]
except IndexError:
return u''
select.is_safe=True
Sigue estando hardwired el '|'... se lo podría hacer que use el
primer caracter del string como separador dentro de values[1:]...
pero no sé si es peor.
Fede
More information about the pyar
mailing list