2009-06-14 6 views
11

Estoy en proceso de crear una aplicación web usando cherrypy.¿Qué tecnología de plantilla debo usar con CherryPy?

¿Qué plantilla de tecnología me recomienda que use?

+1

¿eh? definir "ver tecnología"? Técnicamente, "un navegador" responderá a su pregunta. – SpliFF

+0

¿Te refieres a un motor de plantillas? –

+0

Este wiki es una respuesta de detalles (y afortunadamente actualizada) a su pregunta. –

Respuesta

5

¿Quiere decir View in MVC? Te recomiendo muy buen motor de plantilla Jinja2.

5

Si se refiere a un motor de plantillas, he tenido cierto éxito al usar mako con cherrypy. Simplemente parecen jugar muy bien juntos.

Mako es extremadamente fácil de usar y personalizar, lo cual es, supongo, también dos de las principales razones para elegir cherrypy. El tutorial oficial de cherrypy también usa mako, y puedes ver un simple sample application allí.

4

Me gusta Cheetah.

+3

Me gusta también, pero el uso de $ para variables hace que sea más difícil incluir jQuery, Prototype, etc. en la página. Aunque la mayor parte de su JS debe estar en archivos .JS estáticos, algunos invariablemente necesitan estar en el HTML. – jpsimons

0

También es Genshi Su tutorial está basado en el uso de cherrypy

3

me gusta Genshi.

Una razón por la que me gusta es simplemente que la sintaxis XML me parece mucho más clara cuando se combina con HTML en comparación con la sintaxis a nivel de texto de los otros motores de plantillas populares. Por ejemplo, es bueno poder pegar un py: para el atributo on para dar salida a una tabla en lugar de anidar desordenado #if o cualquier línea.

Otra razón es que, dado que se basa en XML y trata su HTML como XML, garantiza que su marcado sea sintácticamente correcto, es decir, que las etiquetas estén cerradas y correctamente anidadas, los caracteres especiales escapen correctamente, etc. Otras plantillas los motores simplemente tratarán su HTML como texto y lo emitirán sin importar los controles de santidad adicionales.

La principal desventaja de Genshi es que es mucho más lento que los motores basados ​​en texto más rápidos. Sin embargo, su rendimiento debería ser lo suficientemente bueno para la mayoría de los sitios. A menos que tenga un sitio que tenga una necesidad especial de procesar texto/HTML a un ritmo súper rápido, la legibilidad y la verificación de la sintaxis que ofrece Genshi probablemente superen el rendimiento alcanzado.

+0

Este es un buen resumen, y en línea con mi opinión.Lo único que podría agregar es que la sintaxis _utiliza_HTML en lugar de simplemente generarlo, incluso las plantillas sin procesar pueden ser usadas directamente por otras herramientas XML y XHTML. Algunas plantillas incluso se pueden abrir en un navegador directamente y obtener una vista previa. Además, debido a que es el XML correcto, las plantillas pueden ser fácilmente generadas por otros motores o utilizadas para generar plantillas para otros motores. Usé Genshi para generar páginas JSPX, y fue sencillo y elegante. –

2

A Zen master probablemente responda: "Sí".

Si está construyendo una interfaz web, elegiría un motor que proporcione plantillas de marcado legibles como lo hace Genshi.

Si está construyendo un servidor de reposo y necesita devolver otro tipo de datos, iría con uno de los motores más orientados al texto, como Cheetah o Mako.

Para construir páginas HTML, prefiero Genshi a Cheetah o Mako aunque sea bastante más lento. Al devolver JSON prefiero los motores basados ​​en texto más rápidos.

Y como Cherrypy es independiente del motor, puede usar ambos si lo necesita.

Cuestiones relacionadas