2009-06-14 16 views
11

Sono in procinto di creare un'applicazione Web utilizzando cherrypy.Quale tecnologia modello dovrei usare con CherryPy?

Che tipo di tecnologia che consigliate mi serve?

+1

eh? definire la "tecnologia di visualizzazione"? Tecnicamente "un browser" risponderebbe alla tua domanda. – SpliFF

+0

Intendi un motore di template? –

+0

Questo wiki è un dettaglio (e spero aggiornato) risposta alla tua domanda. –

risposta

5

Vuoi dire Visualizza in MVC? Ti raccomando motore template molto bello Jinja2.

5

Se si intende un motore di template, ho avuto un certo successo usando mako con cherrypy. Sembrano giocare bene insieme.

Mako è estremamente facile da avviare e personalizzare, che è, presumo, anche due dei principali motivi per la scelta di cherrypy. Il tutorial ufficiale di cherrypy usa anche mako, e qui puoi vedere uno simple sample application.

4

Mi piace Cheetah.

+3

Mi piace anche a me, ma l'uso di $ per variabili rende più difficile includere jQuery, Prototype, ecc. Nella pagina. Anche se la maggior parte del tuo JS dovrebbe essere in file .JS statici, alcuni devono sempre essere nell'HTML. – jpsimons

0

C'è anche Genshi loro esercitazione si basa sull'utilizzo di cherrypy

3

mi piace Genshi.

Una ragione che mi piace è semplicemente che la sintassi XML mi sembra molto più pulita se combinata con HTML rispetto alla sintassi a livello di testo degli altri motori di template più popolari. Ad esempio, è bello essere in grado di attaccare un py: per l'attributo on per l'output di una tabella rispetto all'annidamento di #if disordinato o di qualsiasi riga.

Un'altra ragione è che poiché si basa su XML e tratta il tuo HTML come XML, garantisce che il tuo markup sia sintatticamente corretto - cioè che i tag siano chiusi e correttamente annidati, caratteri speciali siano debitamente escapati, ecc. Altri template i motori tratteranno semplicemente il tuo HTML come testo e produrranno tutto ciò che gli dai senza i controlli extra di santità.

Lo svantaggio principale di Genshi è che è molto più lento dei più veloci motori basati su testo. Tuttavia, le sue prestazioni dovrebbero essere abbastanza buone per la maggior parte dei siti. A meno che tu non abbia un sito che ha una particolare necessità di renderizzare testo/HTML a una velocità super veloce, la leggibilità e la verifica della sintassi che Genshi fornisce probabilmente superano il successo in termini di prestazioni.

+0

Questo è un buon riassunto e in linea con il mio sentimento.L'unica cosa che potrei aggiungere è perché la sintassi _uses_ XHTML invece di generarlo semplicemente, anche i modelli non elaborati possono essere usati direttamente da altri strumenti XML e XHTML. Alcuni modelli possono anche essere aperti direttamente in un browser e visualizzati in anteprima. Inoltre, poiché è corretto XML, i modelli possono essere facilmente generati da altri motori o utilizzati per generare modelli per altri motori. Ho usato Genshi per generare pagine JSPX, ed era indolore ed elegante. –

2

A Zen master probabilmente risponderebbe: "Sì".

Se si sta creando un'interfaccia Web, sceglierei un motore che fornisca modelli di markup leggibili come Genshi.

Se stai costruendo un server di riposo e devi restituire altri tipi di dati, utilizzerei uno dei motori più orientati al testo come Cheetah o Mako.

Per la creazione di pagine HTML preferisco Genshi su Cheetah o Mako anche se è un po 'più lento. Quando restituisco JSON preferisco piuttosto i motori basati su testo più veloci.

E poiché Cherrypy è indipendente dal motore, è possibile utilizzare entrambi se necessario.