-
Notifications
You must be signed in to change notification settings - Fork 21
File: PDF
Alfio Emanuele edited this page Nov 28, 2015
·
4 revisions
Questa pagina serve per illustrare il funzionamento della libreria PDF
in Jorvik.
-
Costruttore. La classe
PDF
estende Allegato. Per scelta di progettazione, ogni Allegato deve essere associato ad un oggetto qualsiasi (un qualsiasi modello).- Se il file non ha motivo di permanere o non e' correlato a nessun oggetto, e' possibile associarlo all'utente che ha creato il file. es.
z = PDF(oggetto=me)
. - Se il file e' un allegato ad un oggetto, esempio un oggetto
Attivita
di nomeatt
, si puo' usarerep = PDF(oggetto=att)
per un allegato a una attivita'. Questo sara' automaticamente ottenibile daatt.allegati
.
- Se il file non ha motivo di permanere o non e' correlato a nessun oggetto, e' possibile associarlo all'utente che ha creato il file. es.
-
PDF.genera_e_salva(nome, scadenza, corpo, modello, orientamento, formato)
genera il PDF e salva il documento comeAllegato
.-
nome
e' il nome del document PDF (per uso come allegato). Se non specificato,File.pdf
. -
scadenza
e' un timestamp per la scadenza del file. Se non specificato,domani()
viene usato. -
corpo
e' un dizionario che contiene le sostituzioni da fare nel template del PDF. -
modello
e' il modello PDF da utilizzare. -
orientamento
e' uno traPDF.ORIENTAMENTO_ORIZZONTALE
ePDF_ORIENTAMENTO_VERTICALE
.
-
-
PDF.download_url
, una volta salvato il file, conterra' l'URL completo per il download del documento.- Questo puo' essere utile in una vista per ritornare un redirect allo scaricamento del file, es.
return redirect(z.download_url)
.
- Questo puo' essere utile in una vista per ritornare un redirect allo scaricamento del file, es.
base/templates/pdf_utente_estensione.html
:
{% extends 'pdf_standard.html' %}
{% block corpo %}
<p>Il volontario {{ estensione.persona.nome_completo }} ha richiesto una estensione
presso {{ estensione.destinazione.nome }} il giorno {{ estensione.creazione }}.</p>
{% endblock %}
@pagina_privata
def utente_estensione_pdf(request, me, pk=None):
estensione = get_object_or_404(Estensione, pk=pk) # Ottengo l'estensione
pdf = PDF(oggetto=estensione) # Associo un oggetto al PDF
pdf.genera_e_salva(
nome="Estensione %s.pdf" % (estensione.persona.nome_completo, ),
corpo={
"estensione": estensione
},
modello="pdf_utente_estensione.html",
)
return redirect(pdf.download_url) # Redirect (download immediato)
- File
- Posta/E-mail
- Locazione (ex GeoEntita)
- Commenti
- Mixin
- Introduzione
- Tipi (elenco)
- Errori (elenco)
- Prefisso
- Metodi (elenco)