การใช้ template นั้น จะเป็นการแยกส่วนของ code ของ python กับ html ออกจากกัน เพื่อความสะดวกในการอ่าน code โดยผมจะทำการใช้ template กับ project เวลาในบทความที่แล้วให้ดูกัน
เริ่มต้นทำการสร้าง folder templates ขึ้นมา
จากนั้นจะทำการกำหนด TEMPLATE_DIR ในไฟล์ settings.py
โดยเราจะกำหนด path ของ folder templates ที่เราสร้างไว้เข้าไปโดยสามารถกำหนดด้วย
os.path.join(BASE_DIR, 'ชื่อโฟล์เดอร์'),
จากนั้นทำการสร้างไฟล์ template โดยมีนามสกุลเป็น .html ขึ้นมา
จากนั้นทำการใส่ code html เข้าไปในไฟล์ template
โดย code html จะมี tag ตัวแปร {{ }} ที่เราจะนำไปใช้ในการรับค่าจาก code python ในไฟล์ views.py
ในไฟล์ views.py เราจะทำการ import django.template.loader import get_template ซึ่งเป็นการ load template มาจาก TEMPLATE_DIR ในไฟล์ settings.py และในส่วน
django.template import Template, Context เป็นการ import template มาจาก django
ในส่วนที่ comment ไปนั้นจะเป็น code ในบทความเก่าที่ไม่ได้ใช้ template
t = get_template('now_template.html') คือการประกาศใช้ template ที่ชื่อ now_template.html
c = Context() เป็นการนำค่าเข้าไปแทนในตัวแปรของ template อย่าง c = Context('now':now) คือการนำค่า now ด้านขวาซึ่งเป็นตัวแปรของ python ไปแทนค่า now ใน template({{ now}})
html = t.render(c) คือการดึงค่าของ template ออกมาเก็บไว้ใน html
การใช้ template นั้นจะทำการแยก html ออกจาก code python ทำให้ code ดูง่ายขึ้น และ สั้นลง
ข้อมูลอ้างอิง : Django Book






ไม่มีความคิดเห็น:
แสดงความคิดเห็น