O Django tem ajudantes HTML?

votos
23

O Django tem nenhum tags de templates para gerar marcação HTML comum? Por exemplo, eu sei que posso obter um url utilizando

{% url mapper.views.foo %}

Mas isso só me dá a URL e não o código HTML para criar o link. O Django tem nada semelhante ao helper link_to Rails? Eu encontrei django-ajudantes mas desde que esta é uma coisa comum eu pensei Django teria algo embutido.

Publicado 14/09/2008 em 17:37
fonte usuário
Em outras línguas...                            


6 respostas

votos
26

Não, não faz.

James Bennett respondeu a uma pergunta semelhante há um tempo atrás, a respeito ajudantes JavaScript built-in Rails.

É realmente improvável que Django nunca vai ter 'ajudante' funcionalidade built-in. A razão, se bem entendi, tem a ver com o núcleo filosofia de manter as coisas do Django baixo acoplamento . Ter esse tipo de funcionalidade de ajuda built-in leva a acoplamento Django com uma biblioteca JavaScript específico ou (no seu caso) html tipo de documento.

POR EXEMPLO. O que acontece se / quando HTML 5 é finalmente implementado e Django está gerando HTML 4 ou XHTML marcação?

Dito isto, estrutura de modelo de Django é realmente flexível, e que não seria terrivelmente difícil de escrever seus próprios tags / filtros que fez o que queria. Eu sou mais um designer mim, e eu fui capaz de montar uma tag casal personalizados que funcionou como um encanto.

Respondeu 15/09/2008 em 23:22
fonte usuário

votos
21

O objetivo de ajudantes não é, como outros aqui implica, para ajudar os desenvolvedores que não sabem como escrever HTML. O objetivo é encapsular funcionalidade comum - assim você não precisa escrever a mesma coisa mil vezes - e para fornecer um único local para editar HTML comum utilizado em todo o seu aplicativo.

São os mesmos modelos de razão e SSI são úteis - não porque as pessoas não sabem como escrever o HTML em seus cabeçalhos e rodapés, mas às vezes você quer escrevê-lo apenas uma vez.

POR EXEMPLO. O que acontece se / quando HTML 5 é finalmente implementado e Django está gerando HTML 4 ou XHTML marcação?

Mesma coisa que acontece quando o HTML 5 é implementada e todos os seus modelos são escritas em HTML repetitivo, exceto muito mais fácil.

Os outros lugares já ter respondido a pergunta, ligando para os docs sobre marcas de modelo personalizado ; você pode usar tags e filtros para construir o seu próprio, mas não, não há qualquer construído em.

Respondeu 19/09/2009 em 18:24
fonte usuário

votos
2

ele não parecem que estão construídos em mas aqui está um par de trechos. parece que seria muito fácil criar esses ajudantes:

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

Respondeu 14/09/2008 em 17:48
fonte usuário

votos
1

Aqui está uma lista de todas as tags de templates e filtros construídos em Django . Django núcleo não tem tanto ajudantes HTML como Rails, porque contribuidores Django assume que o desenvolvedor web sabe HTML muito bem. Como afirmado por saturdaypalace, é muito improvável para ajudantes AJAX para ser adicionado ao Django, porque isso levaria a acoplamento Django com uma biblioteca JavaScript específico.

É muito fácil de escrever as suas próprias marcas de modelo no Django (muitas vezes você precisa apenas definir uma função, similares a Rails). Você poderia reimplementar a maioria dos ajudantes de Rails em Django durante um dia ou dois.

Respondeu 16/09/2008 em 00:05
fonte usuário

votos
0

Aposto que, se não haveria qualquer consentimento do que é html comum , não haveria módulo ajudantes também, apenas para ser completo (ou porque outros têm-lo). ;)

Fora isso, o sistema de templates Django é feito principalmente para pessoas de HTML, que já sabem como escrever p, imge atags e não precisa de nenhum ajudantes para isso. Por outro lado, há desenvolvedores de Python, que escrevem código e não se importam se a variável que ponha em contexto é delimitada por divou por span(exemplo perfeito de separação de interesses paradigma). Se você precisa ter esses dois mundos a serem unidas, você tem fazer a ele por si mesmo (ou olhar para o código do outro).

Respondeu 17/09/2008 em 12:27
fonte usuário

votos
-1

Isso não vai responder diretamente à pergunta, mas por que não usar <a href="{% url mapper.views.foo %}">foo</a>no template, então?

Respondeu 16/09/2008 em 13:10
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more