Andrise programmeerimisalane WIKI

Lehemalli kasutamise näide

Antud näites defineerime ära templiidifaili, mis sisaldab endas HTML ja Django lehemalli koodi ning pythoni faili, mis seda lehemalli kasutada oskab.

Esiteks Django templiidifail osalejad.tpl, mis asub kataloogis views:

<html>
  <head>
    <title>Osalejad üritusel {{ nimi }}</title>
  </head>
  <body>
    <h1>Osalejate nimekiri üritusel {{ nimi }}.</h1>
    {% if osalejad %}
      <ul>
      {% for osaleja in osalejad %}
        <li>Nr {{forloop.counter}}, {{osaleja}}</li>
      {% endfor %}
      </ul>
    {% else %}
      <p>Ühtegi osalejat pole veel registreeritud!</p>
    {% endif %}
  </body>
</html>

Teiseks Pythoni skript main.py templiidi näitamiseks:

#!/usr/bin/env python
# coding: utf-8
 
import wsgiref.handlers
from google.appengine.ext import webapp
import os
from google.appengine.ext.webapp import template
 
class MainHandler(webapp.RequestHandler):
  def get(self):
    template_values = {
      "nimi": "Muutujate konverents",
      "osalejad": ["Jaan Tamm", "Peeter Meeter", "Margus Mardus"]
    }
    path = os.path.join(os.path.dirname(__file__), 'views/osalejad.tpl')
    self.response.out.write(template.render(path, template_values))
 
def main():
  application = webapp.WSGIApplication([('/', MainHandler)])
  wsgiref.handlers.CGIHandler().run(application)
 
if __name__ == '__main__':
  main()

Tulemuseks on leht kujul:

Osalejate nimekiri üritusel Muutujate konverents
* Nr 1. Jaan Tamm
* Nr 2. Peeter Meeter
* Nr 3. Margus Mardus

Selline skript väljastab siis vaatajale lehe, mis näitab fiktiivse ürituse „Muutujate konverents“ osalejate nimekirja. Ürituse nimi ning osalejate nimekiri antakse lehemallile skripti poolt ette massiivina. Reaalsuses tuleksid need andmed kas andmebaasist või mõnest muust dünaamilisest allikast, hetkel aga on väärtused programmi koodi sisse kirjutatud.

Täpsemalt saab kõikide lehemalli võimaluste kohta lugeda eelpoolviidatud Django lehemallide versioon 0.96 leheküljelt.