Domanda Semplice modello HTML in Python


Mi piacerebbe riempire un modello HTML con dati da Python. Mentre non conosco alcun HTML, un mio collega preparerebbe il modello HTML mentre fornisco i dati. Tuttavia, conosce solo poco di Python.

Potresti suggerire un framework di template molto semplice che gestisca bene questa separazione di HTML e Python (cioè non molta sintassi speciale in HTML e non molto HTML da conoscere nel codice dati di Python)? Idealmente il modello HTML dovrebbe essere molto vicino al puro HTML.

Avrò anche tabelle come dati, quindi sarebbe bello se non dovessi preparare il codice della tabella HTML, ma invece potrebbe farlo con una logica di markup minima. Idealmente il sistema dovrebbe funzionare anche se il mio collega applica concetti più avanzati come i CSS.

Ho trovato il vasto elenco, ma è davvero difficile giudicare quale sistema è più vicino alle mie esigenze in quanto non conosco il linguaggio tecnico.

EDIT: il punto è che siamo neofiti con questo, e abbiamo solo bisogno di una soluzione di base :) - ma idealmente non ho HTML per me e non molto oltre il semplice HTML per lui.


11
2017-07-25 09:42


origine


risposte:


Bene django ha un motore di templating molto potente, che ha lo scopo di separare l'HTML dalla logica di Python (ma questo richiederebbe l'uso di django nel suo insieme, quindi potrebbe essere eccessivo se si desidera semplicemente il template).

Se i tuoi modelli sono veramente facile (nessun loop) potresti usare Python nativo String.Format funzione (l'ho usato in un progetto parallelo che generava i file di configurazione in qualche codice Fortran, e non era così male).

Un'altra scelta potrebbe essere Jinja2 questo è molto vicino ai modelli di Django, ma autonomo e più potente.


12
2017-07-25 09:49



Posso suggerire di guardare anche web2py? Al livello più elementare potreste semplicemente avere il vostro collega a creare il file html e poi dove mai avete bisogno di dati sostituirlo con {{= var}} la var può essere recuperata dal controller web2py che è scritto in una funzione python. Dalla funzione potresti mettere insieme i tuoi dati e restituirgli la vista html con "return dict (var = var)".

Se la tua vista assomiglia a questa:

<html>
    <head>
        <title>some title</title>
    </head>
    <body>
        <h1>{{=message}}</h1>
    </body>
</html>

Il controller potrebbe assomigliare a questo:

def index():
    message = "Hello World"
    return dict(message=message)

Puoi anche usare django, come altri hanno menzionato, ma controlla il link per alcuni documentazione web2py


3
2017-07-25 10:37