Pregunta

Hace Django tiene alguna plantilla de etiquetas a generar un lenguaje de marcado HTML?Por ejemplo, sé que se puede obtener una url mediante

{% url mapper.views.foo %}

Pero eso sólo me da la URL y no el código HTML para crear el enlace.Hace Django tienen algo similar a Rails' helper link_to?He encontrado django-ayudantes pero ya que esto es una cosa común pensé Django tendría algo integrado.

¿Fue útil?

Solución

No.

James Bennett respondió un pregunta similar hace un tiempo, sobre Rieles " construido-en JavaScript ayudantes.

Es realmente raro que Django nunca han 'ayudante' la funcionalidad incorporada.La razón por la que, si entiendo correctamente, tiene que ver con Django fundamentales de la filosofía de mantener las cosas débilmente acoplados.Teniendo ese tipo de auxiliar de la funcionalidad incorporada en las derivaciones para el acoplamiento de Django con una biblioteca de JavaScript o (en su caso) tipo de documento html.

Por ejemplo.¿Qué sucede si/cuando el HTML 5 es llevada a cabo finalmente y Django es la generación de HTML 4 o XHTML?

Habiendo dicho eso, Django plantilla del marco de trabajo es muy flexible, y no sería muy difícil escribir sus propias etiquetas/filtros que hacía lo que quería.Yo soy todo un diseñador de mí mismo, y he sido capaz de poner juntos un par de etiquetas personalizadas que trabajó como un encanto.

Otros consejos

El propósito de ayudantes, no es como otras que implican, para ayudar a los desarrolladores que no saben cómo escribir HTML.El objetivo es encapsular la funcionalidad común-así que usted no necesita escribir la misma cosa una y mil veces -- y para proporcionar un único lugar para editar HTML comunes utilizados en la aplicación.

Es la misma razón plantillas y SSI son útiles, no porque la gente no sabe cómo escribir el código HTML en su encabezados y pies de página, pero a veces quiero escribir solo una vez.

Por ejemplo.¿Qué sucede si/cuando el HTML 5 es finalmente se implementó y Django es la generación de HTML 4 o XHTML?

Lo mismo que sucede cuando el HTML 5 es implementado y todas sus plantillas están escritos en repetitivo HTML, excepto mucho más fácil.

Los otros puestos ya han respondido a la pregunta, con enlaces a los documentos en plantilla personalizada etiquetas;puede utilizar las etiquetas y filtros para construir su propio, pero no, no hay ningún construido en.

no parece que está construido, pero he aquí un par de fragmentos.parece que sería bastante fácil para crear estos ayudantes:

http://www.djangosnippets.org/snippets/441/

Aquí es un lista de todas las etiquetas de plantilla y filtros integrados en Django.Django núcleo no tiene tanta HTML helpers como Rieles, porque Django contribuyentes supone que programador web sabe de HTML muy bien.Como dijo saturdaypalace, es muy raro para ayudantes de AJAX para ser añadido a Django, porque eso llevaría a acoplamiento de Django con una biblioteca de JavaScript.

Es muy fácil escribe tus propias etiquetas de plantilla en Django (a menudo sólo se necesita definir una función, similar a los Rieles).Usted podría reimplementar la mayoría de los Carriles de ayudantes en Django durante un día o dos.

Apuesto a que si hubiera consentimiento de lo que es común html, habría ayudantes módulo demasiado, sólo para la integridad (o porque otros lo tienen).;)

Aparte de eso, el sistema de plantillas de Django está hecho principalmente para el HTML de la gente, que ya sabe cómo escribir p, img y a etiquetas y no necesita ningún ayudantes por eso.En el otro lado hay desarrolladores de Python, que escribir el código y no importa si la variable se coloca en el contexto delimitado por div o por span (ejemplo perfecto de la separación de las preocupaciones paradigma).Si usted necesita para tener estos dos mundos se unen, usted tiene que hacer por sí mismo (o buscar otro código).

Esto no responder directamente a la pregunta, pero ¿por qué no usar <a href="{% url mapper.views.foo %}">foo</a> en la plantilla de entonces?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top