Frappe Framework kullanırken dinamik HTML sayfaları yaratabilmek için Jinja template’lerini kullanabilirsiniz.
Bunun için aynı dizine, aynı isimli .py ve .html sayfaları oluşturmalısınız. Python dosyanız “get_context” methodunu, HTML dosyanız Jinja Template’ini içermelidir.
Pyhton dosyamızda “get_context” methodu ile elde ettiğimiz değişkenleri HTML dosyamız içerisinde yer alan Jinja Template’imize döndürerek sayfamızı render edeceğiz.
Örneğin;
sample_page.py;
import frappe
@frappe.whitelist(allow_guest=True)
def get_context(context):
benim_adim = "Sinan Yosunkaya"
favori_takimim = "Gençlerbirliği"
benim_memleketim = "Ankara"
kedilerimin_isimleri =['Kedi','Tavuk','Tombalak','MinikaGo','Sempatik']
context.benim_adim = benim_adim
context.favori_takimim = favori_takimim
context.benim_memleketim = benim_memleketim
context.kedilerimin_isimleri = kedilerimin_isimleri
return context
sample_page.html
<!DOCTYPE html>
<!-- Built on Frappe. https://frappeframework.com/ -->
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="generator" content="frappe">
</head>
{% block content %}
<p>Merhaba Benim adım {{benim_adim}}, Ben {{favori_takimim}} takımını tutuyorum. Memleketim {{benim_memleketim}}. {{kedilerimin_isimleri|length}} adet kedim var ve onların isimleri şu şekilde;
<ol>
{% for kedi_ismi in kedilerimin_isimleri %}
<li>{{ kedi_ismi }}</li>
{% endfor %}
</ol>
</p>
{% endblock %}
Bu basit örnekte görüldüğü üzere python dosyamızda(sample_page.py) oluşturduğumuz değişkenleri HTML dosyamızın içerisinde(sample_page.html) render edebildik.