การสร้างโปรเจ็คใหม่ด้วย FastAPI และ Jinja

มาลองสร้างเว็บไชต์สำหรับแปลงชื่อ ตัวพิมพ์ เล็กเป็นพิมพ์ใหญ่กันดูครับ

  1. เปิด VSCode และสร้างโฟลเดอร์สำหรับโปรเจ็คใหม่ของคุณ แล้วเปิดโฟลเดอร์นี้ใน VSCode
  2. สร้างไฟล์ main.py ในโฟลเดอร์โปรเจ็คของคุณ ซึ่งจะเป็นไฟล์ที่เก็บโค้ดของ FastAPI
  3. เขียนโค้ด FastAPI ในไฟล์ main.py ใส่โค้ดดังนี้:
from fastapi import FastAPI, Request, Form
from fastapi.responses import HTMLResponse
from fastapi.templating import Jinja2Templates

app = FastAPI()
templates = Jinja2Templates(directory="templates")

@app.get("/", response_class=HTMLResponse)
async def read_root(request: Request):
    return templates.TemplateResponse("index.html", {"request": request})

@app.post("/", response_class=HTMLResponse)
async def form_post(request: Request, input_text: str = Form(...)):
    processed_text = input_text.upper() # .upper() ใช้สำหรับแปลงข้อความพิมพ์เล็กเป็นพิมพ์ใหญ่
    return templates.TemplateResponse("result.html",
        {"request": request, "processed_text": processed_text}
    )
  1. สร้างโฟลเดอร์ชื่อ templates ในโฟลเดอร์โปรเจ็คของคุณ
  2. สร้างไฟล์ index.html ในโฟลเดอร์ templates และใส่โค้ด HTML ตัวอย่างเช่น:
<!DOCTYPE html>
<html>
<head>
    <title>FastAPI and Jinja</title>
</head>
<body>
    <h1>FastAPI and Jinja</h1>
    <form method="post">
        <label for="input_text">Enter Text:</label>
        <input type="text" name="input_text" id="input_text" required>
        <button type="submit">Submit</button>
    </form>
</body>
</html>
  1. สร้างไฟล์ result.html ในโฟลเดอร์ templates และใส่โค้ด HTML ตัวอย่างเช่น:
<!DOCTYPE html>
<html>
<head>
    <title>Result</title>
</head>
<body>
    <h1>Result</h1>
    <p>Processed Text: {{ processed_text }}</p>
    <a href="/">Back to Home</a>
</body>
</html>
  1. เปิดเทอร์มินอล (Terminal) ใน VSCode และรันแอปพลิเคชัน FastAPI ด้วยคำสั่ง:
uvicorn main:app --reload

คุณจะเห็นข้อความที่บอกว่าแอปพลิเคชันรันอยู่ที่ http://127.0.0.1:8000 ให้เปิดเว็บเบราว์เซอร์และเข้าถึง URL นี้จากนั้นกรอกข้อความ ภาษาอังกฤษ แล้วคลิกที่ปุ่ม “Submit” คุณจะเห็นข้อความแปลงเป็นพิมพ์ใหญ่

Read more

Google เปิด Gemini Intelligence: ปฏิวัติ Android สู่ยุค AI ทำงานแทนผู้ใช้

Google เปิด Gemini Intelligence: ปฏิวัติ Android สู่ยุค AI ทำงานแทนผู้ใช้

ค้นพบ Google Gemini Intelligence ที่เปลี่ยน Android สู่ระบบ AI อัจฉริยะ ทำงานข้ามแอปพลิเคชัน จัดการชีวิตประจำวันให้ง่ายขึ้น ปลอดภัย และมีประสิทธิภาพ

By ทีมงาน devdog

หม่ำ จ๊กมก: เบื้องหลังรอยยิ้ม สู่โมเมนต์ซึ้งใจกับตู้เย็นเครื่องใหม่

เปิดโมเมนต์สุดซึ้ง! เมื่อเอ็ม บุษราคัม จัดหนักซื้อตู้เย็นในฝันให้พ่อ หม่ำ จ๊กมก ที่เฝ้ารอมานานกว่าหนึ่งปี ชมความน่ารักและความอบอุ่นในครอบครัวตลกแห่งชาติ

By ทีมงาน devdog
ข่าวสดรอบสัปดาห์: เจาะลึกดราม่าตระกูลดัง 'สก๊อต', มุมมอง 'หนุ่ม กรรชัย', 'มิลลิ' ขอโทษ และเพลงใหม่ 'ATLAS'

ข่าวสดรอบสัปดาห์: เจาะลึกดราม่าตระกูลดัง 'สก๊อต', มุมมอง 'หนุ่ม กรรชัย', 'มิลลิ' ขอโทษ และเพลงใหม่ 'ATLAS'

สรุปข่าวสดประเด็นร้อน: เจาะลึกดราม่าครอบครัว 'สก๊อต' ทั้งอีเมลจากคุณพ่อ, มุมมองหนุ่ม กรรชัย, มิลลิขอโทษ พร้อมอัปเดตเพลงใหม่ ATLAS.

By ทีมงาน devdog
เจาะลึก iOS 27: แอปกล้องปรับได้ดั่งใจ, Siri ขับเคลื่อนด้วย Gemini, และดีไซน์ใหม่ "Liquid Glass"

เจาะลึก iOS 27: แอปกล้องปรับได้ดั่งใจ, Siri ขับเคลื่อนด้วย Gemini, และดีไซน์ใหม่ "Liquid Glass"

เตรียมพบ iOS 27 ปฏิวัติประสบการณ์ใช้งาน! ปรับแต่งแอปกล้องอิสระ, Siri อัจฉริยะด้วย Gemini, พร้อมดีไซน์ "Liquid Glass" ที่ลื่นไหลกว่าเดิม.

By ทีมงาน devdog