User Tools

Site Tools


doc:appunti:prog:django

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
doc:appunti:prog:django [2011/06/26 11:07] – [Mettere i dati nella vista] niccolodoc:appunti:prog:django [2011/06/26 11:49] – [Mettere i dati nella vista] niccolo
Line 165: Line 165:
         </html>         </html>
     ''' % (     ''' % (
-        u'Balance'+        u'Titolo della vista'
     )     )
     return HttpResponse(output)     return HttpResponse(output)
Line 187: Line 187:
 Invece di includere il codice HTML direttamente nella vista (funzione Python) si utilizza il sistema dei **template**. Invece di includere il codice HTML direttamente nella vista (funzione Python) si utilizza il sistema dei **template**.
  
-Nella directory radice del progetto si crea la sottodirectory **''templates''** e nel file **''settings.py''** si definisce la **''TEMPLATE_DIRS''**:+Nella directory radice del progetto si crea la sottodirectory **''templates''** e nel file **''settings.py''** si definisce la **''TEMPLATE_DIRS''** (controllare se il modulo os.path è già incluso):
  
 <code python> <code python>
 +import os.path
 +
 TEMPLATE_DIRS = ( TEMPLATE_DIRS = (
     os.path.join(os.path.dirname(__file__), 'templates),     os.path.join(os.path.dirname(__file__), 'templates),
Line 195: Line 197:
 </code> </code>
  
-Quindi si crea il file **''templates/my_url.html''** che conterrà dei segnaposto del tipo **''%%{{nome}}%%''** che verranno sostituiti a runtime:+Quindi si crea il file **''templates/my_view.html''** che conterrà dei segnaposto del tipo **''%%{{nome}}%%''** che verranno sostituiti a runtime:
  
 <code html> <code html>
Line 209: Line 211:
  
 <code python> <code python>
 +from django.http import HttpResponse
 +from django.template import Context
 +from django.template.loader import get_template
  
 +def my_view(request):
 +    template = get_template('my_view.html')
 +    variables = Context({
 +        'page_title': u'Titolo della vista',
 +        'page_body':  u'Contenuto della pagina'
 +    })
 +    output = template.render(variables)
 +    return HttpResponse(output)
 </code> </code>
 +
 +FIXME Da fare:
 +
 +  * Aggiungere nella vista l'importazione del modello dati.
 +  * Aggiungere nel template l'iterazione per mostrare tutti gli oggetti del modello.
 +  * Trovare il modo per mostrare i dati aggregati (somma di un campo, ecc.).
 ===== Webserver di test ===== ===== Webserver di test =====
  
doc/appunti/prog/django.txt · Last modified: 2011/06/28 09:15 by niccolo