อัปเดตล่าสุด April 6, 2023
Templates คือ โฟลเดอร์ที่เก็บ HTML ไฟล์ และ Render Templates คือ ส่วนของการส่งหน้า HTML ออกไปแสดงผลเป็นหน้าเว็บเพจ ที่สามารถเขียน HTML ได้โดยไม่ต้องส่ง text เพียว ๆ ออกไป ทำได้ด้วยคำสั่ง render_template() จากในตอนแรกที่ได้แสดงผลข้อความเปล่า ๆ ออกไป ซึ่งการพัฒนาเว็บจริง ๆ จะมีหน้า UIs ส่วนอื่น ๆ เข้ามาเกี่ยวข้องอีกมาก ดังนั้นเราจึงต้อง render หน้าเว็บเป็น HTML
ต่อมาเราก็จะมา render หน้า HTML ออกไปแสดงผลกันครับ แต่ก่อนอื่นเราต้องเข้าใจโครงสร้างของ HTML กับ Flask ก่อนว่ามีโครงสร้างและความสัมพันธ์กันยังไง
จะเห็นว่าไฟล์ HTML จะเก็บอยู่ในโฟลเดอร์ templates ซึ่ง Flask ได้ดีไซน์มาแบบนี้ ดังนั้นทำการสร้างโฟลเดอร์ templates ขึ้นมาได้เลยครับ จากนั้นสร้างไฟล์ home.html เข้าไปในโฟลเดอร์นี้
# Project Structure
app.py
templates/
home.html
about.html
...
home.html
<!--home.html-->
<!DOCTYPE html>
<html>
<head>
<title>Home</title>
</head>
<body>
<h1>Hello, Flask Render Template</h1>
</body>
</html>
19. ก่อนที่จะ render HTML ออกไปแสดงผลได้ ต้องทำการอิมพอร์ตฟังก์ชัน render_template() เข้ามาใช้งานก่อน
from flask import render_template
app.py
# app.py
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def home():
return render_template("home.html")
if __name__ =="__main__":
app.run(debug=True)
ผลลัพธ์