Perché dovrei usare il linguaggio di template di un framework web sulle opzioni di template di python?

0

Vengo da uno sfondo CGI Python e volevo passare a qualcosa di più contemporaneo e penso di aver deciso su web.py come framework che vorrei usare. Per quanto riguarda i template, in precedenza ho usato le stringhe formattate e il modulo string.Template per effettuare la maggior parte delle mie esigenze di template. Dopo aver letto alcune delle opzioni di template che ho sentito menzionare, ho iniziato a chiedermi quali fossero i principali vantaggi dell'uso di opzioni come Django o jinja templating su opzioni di templating Python "native". Sto appena sostituendo $tmpl_var con {{ tmpl_var }} e s.substitute(tmpl_var=value) con t.render(s) , cioè la sintassi alternativa? o otterrò ulteriori vantaggi dall'utilizzo di questi sistemi di template?

    
posta han42 24.11.2012 - 02:36
fonte

1 risposta

2

La prima cosa che noterai è che se vuoi avere un modello ripetuto (ad esempio pensi di avere risultati di ricerca, con un blocco di testo per voce), la soluzione che sei abituato a richiede di costruire su un array in Python, e quindi costruisci l'output finale. Ma qualsiasi sistema di template decente ti permetterà di codificarlo in linea, rendendo molto più facile la scansione del template e un'idea diretta dell'output finale.

Tuttavia, se parli con un programmatore esperto, la prima cosa che citeranno è che hai l'opportunità di separare la presentazione dal contenuto. Solo avere diversi tipi di cose in luoghi diversi ti aiuta a organizzare meglio il tuo codice. Leggi praticamente qualsiasi introduzione a MVC (una ricerca su Google casuale ha detto che link è stato utile per alcuni) per ulteriori informazioni su come potresti voler organizzare il tuo codice.

Per avere un'idea più precisa di cosa fanno i sistemi di template e come funzionano, mi piace molto link . Ignora tutti i sistemi di template specifici che discute: sono tutti vecchi sistemi per una lingua diversa. Ma la prima metà fornisce un sacco di contesto per comprendere le differenze tra i diversi tipi di sistemi di template che si incontreranno in molte lingue. E allo stesso modo vedere le somiglianze tra sistemi di template apparentemente diversi.

    
risposta data 24.11.2012 - 03:23
fonte

Leggi altre domande sui tag