template - ¿Django tiene ayudantes de HTML?
django templates examples (6)
no parece que estén integrados, pero aquí hay un par de fragmentos. parece que sería muy fácil crear estos ayudantes:
¿Tiene Django alguna etiqueta de plantilla para generar un marcado HTML común? Por ejemplo, sé que puedo obtener una url usando
{% url mapper.views.foo %}
Pero eso solo me da la URL y no el código HTML para crear el enlace. ¿Tiene Django algo similar al enlace de Rails para ayudar? Encontré django-helpers pero como esto es algo común, pensé que Django tendría algo incorporado.
Aquí hay una lista de todas las etiquetas de plantilla y filtros integrados en Django . Django core no tiene tantos ayudantes de HTML como Rails, porque los colaboradores de Django supusieron que el desarrollador web conoce HTML muy bien. Como se indicó en saturdaypalace, es muy poco probable que los asistentes de AJAX se agreguen a Django, ya que conducirían a acoplar a Django con una biblioteca de JavaScript específica.
Es muy fácil escribir sus propias etiquetas de plantilla en Django (a menudo solo necesita definir una función, similar a Rails). Podría volver a implementar la mayoría de los ayudantes de Rails en Django durante uno o dos días.
Esto no responderá directamente a la pregunta, pero ¿por qué no usar <a href="{% url mapper.views.foo %}">foo</a>
en la plantilla?
Apuesto a que si hubiera algún consentimiento de lo que es html común , también habría módulo de ayudantes, solo para completar (o porque otros lo tengan). ;)
Aparte de eso, el sistema de plantillas Django está hecho principalmente para personas HTML, que ya saben cómo escribir etiquetas p
, img
y a
y no necesitan ayuda para eso. Por otro lado, hay desarrolladores de Python que escriben código y no les importa si la variable que ponen en contexto está encerrada por div
o por span
(ejemplo perfecto del paradigma de separación de preocupaciones ). Si necesita unir estos dos mundos, hágalo usted mismo (o busque el código de otro).
No, no.
James Bennett respondió una pregunta similar hace un tiempo, con respecto a los asistentes JavaScript integrados en Rails.
Es muy poco probable que Django tenga incorporada la funcionalidad ''ayuda''. La razón, si lo entiendo correctamente, tiene que ver con la filosofía central de Django de mantener las cosas juntas . Tener ese tipo de funcionalidad de ayuda integrada permite conectar Django con una biblioteca específica de JavaScript o (en su caso) tipo de documento html.
P.EJ. ¿Qué sucede si / cuando HTML 5 finalmente se implementa y Django genera código HTML 4 o XHTML?
Una vez dicho esto, el marco de plantillas de Django es realmente flexible, y no sería terriblemente difícil escribir sus propias etiquetas / filtros que hicieron lo que usted quería. Principalmente soy diseñadora y he podido juntar un par de etiquetas personalizadas que funcionan como un amuleto.
El propósito de los ayudantes no es, como otros implican, ayudar a los desarrolladores que no saben cómo escribir HTML. El objetivo es encapsular funcionalidades comunes, por lo que no necesita escribir lo mismo mil veces, y proporcionar un lugar único para editar el HTML común utilizado en su aplicación.
Es la misma razón por la que las plantillas y SSI son útiles, no porque la gente no sepa cómo escribir el código HTML en sus encabezados y pies de página, sino que a veces desea escribirlo solo una vez.
P.EJ. ¿Qué sucede si / cuando HTML 5 finalmente se implementa y Django genera código HTML 4 o XHTML?
Lo mismo sucede cuando se implementa HTML 5 y todas las plantillas se escriben en HTML repetitivo, excepto que es mucho más fácil.
Las otras publicaciones ya han respondido la pregunta, vinculándose a los documentos en etiquetas de plantilla personalizadas ; puede usar etiquetas y filtros para construir el suyo propio, pero no, no hay ninguno incorporado.