2012-07-25 24 views
11

Me gustaría completar una plantilla HTML con datos de Python. Si bien no conozco ningún HTML, un colega mío prepararía la plantilla HTML mientras yo proporciono los datos. Sin embargo, él sabe muy poco sobre Python.Plantilla HTML simple en Python

¿Podría sugerir un marco de plantilla muy básico que maneja muy bien esta separación de HTML y Python (es decir, no hay mucha sintaxis en HTML y no hay mucho HTML para saber en el código de datos de Python)? Idealmente, la plantilla HTML debería estar muy cerca del HTML puro.

También tendré tablas como datos, por lo que estaría bien si no tuviera que preparar el código de la tabla HTML, sino que podría hacerlo con una lógica de marcado mínima. Idealmente, el sistema debería funcionar incluso si mi colega aplica conceptos más avanzados como CSS.

He encontrado el extensive list, pero es muy difícil determinar cuál de los sistemas está más cerca de mis requisitos ya que no conozco el lenguaje técnico.

EDITAR: el punto es que somos novatos con eso, y solo necesitamos una solución básica :) - pero idealmente no HTML para mí y no mucho más que HTML simple para él.

+1

Las plantillas de página de Camaleón y Zope (ambas implementan el mismo idioma de atributo) proporcionan esto; separación clara y plantillas que aún funcionan en un navegador no entregado. Lamentablemente, este tipo de pregunta no se ajusta al formato de este sitio; consulte la [Pregunta frecuente n. ° dontask]. Preguntas como estas tienden a llevar a respuestas vagas que también están desactualizadas muy rápidamente. Si podemos ayudarlo con un problema específico, ¡no dude en publicar otra pregunta! –

+0

Gracias por la explicación. El requisito específico de que debería ser fácil de configurar para novatos completos debería restringir las posibles respuestas ... siempre que todos lean toda la pregunta. No sé cómo reformularlo :( – Gerenuk

+1

También puedes echar un vistazo a "Mako" y "Jinja2". Si necesitas algo más que el renderizador HTML, echa un vistazo a Flask (es muy pequeño y ofrece una buena integración para Jinja y Mako). – javex

Respuesta

11

Bueno, django tiene un motor de plantillas muy potente, que sirve para separar el HTML de la lógica de Python (pero eso requeriría usar django por completo, por lo que podría ser una exageración si solo quieres plantillas).

Si las plantillas son realmente fácil (sin bucles) puede utilizar la función nativa pitón string.format (lo utilicé en un proyecto paralelo que genera archivos de configuración de un código Fortran, y no era tan malo).

Otra opción podría ser jinja2 que está muy cerca de las plantillas django, pero independiente y más potente.

+0

Gracias. Cuerda.el formato trata la simplicidad necesaria, sin embargo, podría ser demasiado simple, ya que aún tendría que generar el marcado de tabla HTML en el lado de Python. Esa es la única razón por la que no fui por la solución más simple. – Gerenuk

+1

Ve por jinja2 entonces. –

2

¿Puedo sugerir mirar web2py también? En el nivel más básico, puede hacer que su colega cree el archivo html donde quiera que necesite datos sustitúyalo por {{= var}} la variable puede ser recuperada por el controlador web2py que está escrito en una función python. Desde la función puede juntar sus datos y devolverle la vista html con "return dict (var = var)".

Si su vista se veía así:

<html> 
    <head> 
     <title>some title</title> 
    </head> 
    <body> 
     <h1>{{=message}}</h1> 
    </body> 
</html> 

El controlador podría tener este aspecto:

def index(): 
    message = "Hello World" 
    return dict(message=message) 

También es posible usar Django, como otros han mencionado, pero comprobar el enlace para algunos web2py documentation

+0

Si el OP también busca el controlador (no solo el motor de plantillas), sugiero usar django. –