[pyar] Separación de lógica y presentación en Django

Alejandro Santos listas en alejolp.com
Mie Sep 8 15:03:07 ART 2010


2010/9/7 Federico Heinz <fheinz en vialibre.org.ar>:
> 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 }}>...
>
> Suena plausible... pero no estamos de nuevo rompiendo alguna
> aislación? (aunque ya ni sé muy bien en qué parte del sistema se
> considera que están los template tags).
>

Si estas intentando respetar el modelo MVC, MTV o equivalente, tu
variable SOMETHING es parte de la lógica de vista. Eso en Django se
maneja con filtros, ya que son parte de la vista/templates.

O sea, hay tres clases de if, el tuyo es el segundo:

# Logica de negocios
if es_menor_de_18:
    verificar_que_tenga_autorizacion_de_los_padres()

# Logica de presentacion o vista
if la_fila_de_la_tabla_es_impar:
    mostrar_la_fila_en_color_gris_claro()
else:
    mostrar_la_fila_en_color_blanco()

# Logica de modelo
if la_clave_foranea_es_null:
    disparar_un_error_de_modelo()

-- 
Alejandro Santos
http://alejolp.com.ar



More information about the pyar mailing list