Flask Rendering Templates

   อัปเดตล่าสุด April 6, 2023

Templates คือ โฟลเดอร์ที่เก็บ HTML ไฟล์  และ Render Templates คือ ส่วนของการส่งหน้า HTML ออกไปแสดงผลเป็นหน้าเว็บเพจ ที่สามารถเขียน HTML ได้โดยไม่ต้องส่ง text เพียว ๆ ออกไป ทำได้ด้วยคำสั่ง  render_template()    จากในตอนแรกที่ได้แสดงผลข้อความเปล่า ๆ ออกไป ซึ่งการพัฒนาเว็บจริง ๆ จะมีหน้า UIs ส่วนอื่น ๆ เข้ามาเกี่ยวข้องอีกมาก ดังนั้นเราจึงต้อง render หน้าเว็บเป็น HTML


Rendering Templates (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)


ผลลัพธ์





คอร์สเรียนแนะนำ