2010-12-30 15 views
14

Al usar Django para plantillas html, ¿cómo creo un buen formato de marcado html?Creación de html legible con plantillas de django

Estoy tratando de hacer uso de los bloques de contenido. Pero los bloques de contenido aparecen en diferentes niveles de sangría en diferentes plantillas. ¿Cómo puedo hacer que los bloques de contenido se muestren sangrados como lo haría si alguien escribiera el html a mano?

Estoy teniendo el mismo problema con las nuevas líneas; Puedo destruir todos los bloques en la plantilla. En ese punto, el html se ve mejor, pero las plantillas no se pueden mantener.

Supongo que la pregunta es cómo crear bonitas marcas HTML con el sistema de plantillas django?

Estoy sorprendido por las respuestas hasta ahora. Me parece que las ayudas HTML bien formateadas al escribir el CSS y JavaScript correspondiente. Además de facilitar la adición de contenido más adelante.

+1

¿Por qué es importante el diseño de HTML? –

+1

Prefiero hacer exactamente lo contrario, aplastar el HTML lo más fuerte posible para que tenga la menor cantidad de caracteres posible. –

+0

@rebus: De acuerdo, las descargas más pequeñas son más rápidas. Parece que el tiempo dedicado a preocuparse por HTML es tiempo perdido.Primero, es tiempo perdido en desarrollo. En segundo lugar, se pierde tiempo transfiriendo espacios en blanco. En tercer lugar, es el tiempo perdido en mantenimiento tratando de preservar todos los espacios en blanco preciosos (y sin sentido). –

Respuesta

14

Christian S. Perone de Pyevolve tiene exactly what you're looking for. Utiliza el middleware para interceptar el objeto HTTPResponse y ejecutarlo a través del BeautifulSoup.

Me imagino que su sitio sufrirá un pequeño golpe de rendimiento, sin embargo. Recomiendo ejecutar algunos puntos de referencia antes de implementar este middleware en un sitio de producción.

0

me recomiendan para ejecutar la salida del motor de plantillas HTML a través de un más ordenado, como µTidylib.

1

La legibilidad de HTML no importa. En un sistema como Django o Rails, HTML es un formato de salida, no un formato fuente. Cuando las personas editan HTML a mano, tienen razón en preocuparse por la sangría y el espaciado, porque es un formato fuente y alguien tendrá que editarlo en el futuro. Pero el resultado de las plantillas es solo eso: salida. El navegador no se preocupa por la sangría. En este punto, las únicas personas que leen el HTML son las personas que miran View - Source.

+0

Y la única persona que lo hace es probablemente el gerente de proyectos del OP, que ahora está dispuesto a invertir unos miles de dólares para complacer sus ojos ;-) +1 –

+0

Esto supone que nunca mira la salida para probar y depurar las plantillas. –

0

Si está utilizando plantillas de Django hacer cadena de formateo de cadenas largas, pero simple, puede utilizar cadenas triples-citado de Python con .formato() en una función def:

def templated_string(context_dict): 
    return '''This is an example 
of a long string across multiple lines. 
It can be used to format {something} for 
{name}'s own purposes, even though 
it looks funny in code'''.format(**context_dict) 

Entonces templated_string({'name': 'rileymat', 'something': 'whatever you want'}) hace lo sensato. Puede generar HTML sin formato de esa manera ... que tiene exactamente el espacio en blanco que solicita.

Cuestiones relacionadas