Page 1 of 1

สอบถามการใช้งาน Jinja ว่ามีการเรียกใช้ Template จาก python อย่างไรค่ะ

Posted: 08/01/2014 5:20 pm
by M013
อยากทราบวิธีการเรียกใช้ Template จาก Python ค่ะ
ใครพอรู้วิธีรบกวนด้วยนะค่ะ :-D

Code Python ค่ะ test_jinja.py

Code: Select all

import jinja2
def ctest(stuff):
    return "yeah!"

template_env = jinja2.Environment (loader = jinja2.FileSystemLoader(template_file_root))
#custom filters
template_env.filters['ctest'] = ctest
Code templte ค่ะ templates/test_jinja_template.html

Code: Select all

Working? {{ junk|ctest }}
Error
NameError: name 'template_file_root' is not defined

## อยากทราบจะทำการเรียกไฟล์ test_jinja_template.html อย่างไรค่ะ ?

Re: สอบถามการใช้งาน Jinja ว่ามีการเรียกใช้ Template จาก python อย่างไรค่ะ

Posted: 09/01/2014 3:10 pm
by mindphp
template_file_root เราต้องกำหนด เข้าไป หรือ ให้ os หาให้ก็ได้
แต่ต้อง import os เข้ามาใช้งานก่อน
เช่น

Code: Select all

#-*- coding=utf-8 -*-
import os
import jinja2

FAVORITES = [ "ทดสอบ", "ทดสอบ2", "ทดสอบ3" ]
# 
templateVars = { "title" : "Mindphp.com ทดสอบ ส่ง Title",
                  "description" : "ทดสอบ ส่ง description.",
                  "favorites" : FAVORITES
                }
template_dir=os.path.join(os.path.dirname(__file__))
template_dir += '\\templates'
env = jinja2.Environment(loader=jinja2.FileSystemLoader(template_dir))
template = env.get_template('template_jinja.html')
print template.render(templateVars)

Re: สอบถามการใช้งาน Jinja ว่ามีการเรียกใช้ Template จาก python อย่างไรค่ะ

Posted: 09/01/2014 3:19 pm
by M013
ได้เเล้วค่ะ
ขอบคุณมากๆ ค่ะ :like: