Migliori Python libreria di template per facilitare la generazione di codice

Invece a me la spesa il giorno successivo (o anno) la lettura su di loro tutti, ci sono suggerimenti per i motori di template che dovrei guardare più in dettaglio?

InformationsquelleAutor taudep | 2009-03-04



7 Replies
  1. 29

    Migliori suggerimento: provare a tutti. Non ci vorrà molto tempo.

    Il mio preferito: Jinja2 (da un miglio)

    È decente sintassi, può rintracciare errori attraverso di essa, ed è sandboxable.

    • Sembra che ho ricevuto un paio di risposte per Jinja2 — dove finora non ho mai sentito parlare. Ora con apprpriate di ricerca di Google, e anche qui a StackOverflow, io sono fuori e in esecuzione. Grazie.
    • Ho fatto una riga di comando strumento basato su Jinja2 per effettuare la generazione del codice. github.com/kblomqvist/yasha
  2. 16

    Se stai facendo la generazione di codice, si potrebbe trovare Cog utile – è in particolare per la generazione del codice, piuttosto che generalmente applicabile linguaggio di template.

    • cog sembra impressionante: bitbucket.org/ned/cog il suo stato convertito in perl, php,… che sta dicendo un sacco dato a coloro che sono modello di lingue per iniziare, e il loro potere utenti pensava di aver bisogno di cog
    • Perl è un linguaggio del template?
  3. 10

    La preoccupazione più importante è se si può vivere con la sintassi del template richiedono. Secondo e terzo (a seconda delle esigenze applicative) sarebbe la velocità e la facilità di distribuzione.

    Ho guardato tutto, ma solo la sintassi che ho potuto stand è stato Jinja. Jinja ha il vantaggio di supportare un sacco di Python costrutti, quindi è molto facile aggiungere frammenti di funzionalità per i modelli necessari, senza codifica di etichette speciali. La maggior parte di ciò che richiede la tag in altri sistemi modello è gestita dal macro in Jinja.

    Naturalmente, se stai cercando qualcosa di semplice e veloce, è difficile battere il Python templating API nel linguaggio.

  4. 2

    Aggiornamento: Kid sembra essere stato succeduto da Genshi.

    Ho usato Bambino, che è penso uno dei sistemi più vecchi. Ho trovato ad essere estremamente solido, stabile e affidabile. È basato su tag, quindi è bello per lavorare con XML/HTML. È una specie di interessante in questo modello le funzioni sono fatto come attributi HTML, non blocchi speciali, cioè {% … %}. Tuttavia, alcuni aspetti di quella (specialmente il modo di non “include”) può diventare abbastanza fastidioso. Esso, inoltre, non sembrano essere sviluppato attivamente o per niente.

    Vale la pena dare un’occhiata se si desidera qualcosa che è stato intorno per un po ‘ ed è diventato abbastanza stabile. Se vuoi qualcosa di più recente, ho sentito parlare bene di entrambi Genshi e Jinja.

    • Genshi Kid ufficiale del successore.
  5. 1

    Mi piace Clearsilver perché funziona con diverse lingue e si applica rigorosamente la separazione tra dati e di presentazione. Ho già usato il Ghepardo e mentre è abbastanza bello, non mi piace lavorare con quello che a volte sembrava come una forma limitata di Python.

  6. 1

    Se si sta lavorando con X[HT]ML, uno dei tag di template di sistemi in grado di lasciare con ben formata modelli è una buona mossa. Io uso PXTL, FWIW. (Si può produrre altri formati, ma se il tuo accento non è XML o HTML, potrebbe non essere una scelta sensata.)

    Ho un’intensa antipatia per i template di sistemi che pretendono di “consentono di separare la logica di business e di presentazione di” limitando le espressioni di un proprio Linguaggio. Essi non sembrano capire che c’è ad esempio una cosa come “presentazione di ” logica”, e si può ottenere a volte è complicato abbastanza per bisogno di un Vero e proprio Linguaggio come Python per eseguire esso. Avendo calci fuori la logica di presentazione dell’app con la logica di business è quindi non è una vittoria. Evitare!

    (L’espressione limitata separato mini-lingua approccio un po ‘ di senso in JSP ‘EL’, come Java è troppo fastidiosamente dettagliato per l’uso in una libreria di template. Ma abbiamo Python! È perfetto per la scrittura di espressioni in modelli come è; tagliere di funzionalità e rendendo l’utente di imparare una nuova lingua si guadagna nulla).

  7. 1

    Se si desidera un molto leggero opzione, provare a modello. Sono solo 80 righe di codice in un solo modulo. Hanno un aspetto qui e qui (è stata pubblicata in un blog). Penso che sia intelligente e molto concentrato soluzione, se le caratteristiche sono sufficienti per voi.

Lascia un commento