Al 30/05/12 16:59, En/na Carlos Aguilar ha escrit:
> Hola, te comento que conozco esos m�todos, pero yo quiero poder armar un
> formulario como el de la siguiente imagen
Hace poco me encontr� con un problema parecido, no necesitaba insertar
un mapa pero si que quer�a agrupar los campos en fieldsets e incorporar
algunos elementos m�s para conseguir una presentaci�n agradable. C�mo
soy m�s de python que de HTML escrib� una peque�a librer�a.
La idea es anidar contenedores y otros elementos para definir como se
distribuye el contenido, algo tipo:
layout = Stacked( # distribuye el contenido uno encima de otro
H1("Cabecera"),
Horizontal( # distribuye el contenido uno al lado del otro
GoogleMap(...),
Stacked(
Button(...),
Button(...)
)
),
P("Introduzca bla bla bla", { "class" : "help" }),
FieldSet(
"titulo del fieldset",
FieldSubset( # pinta los campos field1, field2, ... de myform
# utilizando una tabla
"myform",
("field1", "field2", ...)
)
)
)
En cierta forma esto es una plantilla, define la estructura pero no
tiene contenido (contexto) que mostrar. En la vista, cuando vas a
renderizar la plantilla, le pasas en el contexto el layout vinculado a
un contexto:
render_to_response("plantilla.html",
{ "layout" : BoundLayout(
layout,
{ "myform" : un_obj_form }
)
})
Y en la plantilla pones:
{{ layout.render }}
No es muy distinto de hacerlo a mano en la plantilla pero personalmente
lo encuentro menos farragoso. Supongo que se podr�a conseguir lo mismo
definiendo una librer�a de "snippets" HTML y utilizando {% include %}.
Si tienes inter�s no tengo ning�n inconveniente en compartirla, pero
aviso que es una pre-pre-pre-alfa.
Saludos