Menggunakan Jinja

Jinja merupakan sebuah template engine untuk python, template engine berarti dalam projek yang akan kita buat template berupa page html atau diistilahkan view, akan dipisahkan dari code python projek kita atau alur logika web,

pada waktu buku ini ditulis versi jinja yang terbaru ialah versi jinja2.

Berikut ini beberapa langkah yang perlu digunakan untuk menggunakan jinja2

1. Modifikasi app.yaml

Buka app.yaml dari direktori projek kita dengan editor, ganti atribute dari runtime menjadi python27 dan ubah atribute threadsfe menjadi true lalu tambahkan configurasi jinja2,contoh lengkap app.yaml

 

application : myApplication

version : 1

runtime : python27

api_version : 1

threadsafe : true

 

libraries:

– name : jinja2

version : latest

 

handlers:

– url: /.*

script : main.app

   

2. Direktori HTML

Selanjutnya kita akan menambahkan direktori untuk menyimpan file HTML kita, misalnya kita membuat direktori bernama template, lalu kita isi direktori template dengan file HTML yang akan kita gunakan

contohnya disini

<!DOCTYPE html>

<html>

<head>

<title>Look Ma, I’m Using Jinja!</title>

</head>

<body>

Hi there – I’m {{name}}, and I {{verb}} programming!

</body>

</html>

nantinya {{name}} dan {{verb}} akan di gantikan dengan nilai yang akan kita isi, kedua variabel tersebut di sebut placeholder

3. Memodifikasi script python untuk menggunakan jinja2

terlebih dahulu delete semua variable yang menyimpan html kita pada sourcode python applikasi kita, lalu import module jinja2 :

import os

import webapp2

import jinja2

baris berikutnya kita akan isi dengan objek jinja2.Enviroment yang akan diisi oleh direktori dari templates kita, kita menggunakan module os untuk mendapatkan path dari direktori template kita, kita juga mengeset autoescape menjadi true agar fungsi autoescaping berjalan.  

jinja_enviroment = jinja2.Enviroment(autoescape=True,loader=jinja2.FileSystemLoader(os.path.join(os.path.dirname(__file__),’templates’)))

setelahnya kita dapat menggunakan template kita

dengan mempanggil variable jinja_enviroment dengan methode get_template

contohnya

class MainPage(webapp2.RequestHandler):

def get(self):

nilai = { ‘nama’: ‘hibot’, ‘skill’:’koprol’}

 

form =jinja_enviroment.get_template(‘form.html’)

self.response.out.write(form.render(nilai))

apabila kita hanya ingin memanggil form tanpa mengirimkan parameter nilai cukup dengan syntax

 

self.render(“form.html”)

 

Iklan

Tinggalkan komentar

Filed under Uncategorized

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s