Pagina 1 di 1

Motore di template

Pubblicato: 3 ottobre 2016 - 17:19
di Aguay
Salve,

vorrei sapere se esiste un qualche tipo di motore di template.

Ad esempio, in un file di configurazione, si potrebbe inserire "{{ hostname }}" e il sistema recupererebbe automaticamente l'hostname.

Questo permetterebbe di generare file di configurazione univoci per ogni workstation. Non ho trovato molte informazioni a riguardo. Se qualcuno ne avesse, sarei interessato.

Anche eventuali soluzioni alternative sarebbero ben accette.

Grazie in anticipo!

Re: Motore di creazione modelli

Pubblicato: 5 ottobre 2016 - 11:50
di Aguay
Mi risponderò da solo per poter aiutare magari altri utenti :)

Jinja2 è presente su ogni macchina con i client, quindi è possibile utilizzare questa libreria per creare modelli di configurazione.

Ecco un estratto dal pacchetto che utilizza Jinja2:

Codice: Seleziona tutto

from jinja2 import Environment, FileSystemLoader

THIS_DIR = os.getcwd()
j2_env = Environment(loader=FileSystemLoader(THIS_DIR),
                         trim_blocks=True)
template = j2_env.get_template('template.yml')
file = open('config.yml', 'w')
file.write(template.render(value="Une valeur"))
file.close()
E nel mio file template.yml c'è qualcosa del genere:

Codice: Seleziona tutto

# template.yml

server_url: https://exemple.com
agent_name : {{ value }}
Pertanto, durante l'esecuzione, possiamo inserire una variabile nel campo del valore da applicare al modello.

Questo è un esempio molto semplice, ma potrebbe essere utile ;)

Re: Motore di creazione modelli

Pubblicato: 26 ottobre 2016 - 14:31
di Ekouyoja
Grazie per l'informazione, non sapevo nemmeno che includesse Jinja2 per poter creare modelli, il che può essere molto utile per la gestione delle postazioni di lavoro. :D