Chào mừng các bạn đến với Rcom Dăm Yi blog - Kho tài liệu bổ ích!, Chúng tôi sẽ từng bước hoàn thiện để bạn đọc cảm thấy hài lòng, hữu ích!

Thứ Ba, 4 tháng 11, 2025

Bài giảng: Thiết kế Web đơn giản bằng Python (Flask)

🧠 BÀI GIẢNG: LÀM WEB ĐƠN GIẢN VỚI PYTHON (FLASK)


🎯 Mục tiêu bài học

  • Hiểu Python có thể dùng để lập trình web như thế nào.
  • Biết cách cài đặt Flask – một framework web nhẹ.
  • Tạo trang web hiển thị nội dung và tương tác cơ bản.
  • Tự tạo trang web cá nhân nhỏ bằng Python.
Python Flask web illustration

🧩 1. Python và Web – Tại sao được?

Python có thể tạo web nhờ vào các framework như Flask. Flask giúp bạn:

  • Tạo máy chủ web mini chạy trên máy tính.
  • Trao đổi dữ liệu giữa người dùng và Python.
  • Hiển thị nội dung HTML ra trình duyệt.

⚙️ 2. Chuẩn bị môi trường

pip install flask

Bạn có thể cài trên máy, hoặc chạy trên Google Colab / Replit đều được.

🌐 3. Ví dụ 1: Trang web “Hello, World!” đầu tiên


from flask import Flask

app = Flask(__name__)

@app.route('/')
def home():
    return "<h1>Xin chào! Đây là trang web đầu tiên của tôi bằng Python Flask</h1>"

if __name__ == '__main__':
    app.run(debug=True)
💡 Giải thích:
- Flask(__name__): Tạo ứng dụng Flask.
- @app.route('/'): Định nghĩa đường dẫn trang chủ.
- app.run(debug=True): Chạy server web.
Sau khi chạy, mở http://127.0.0.1:5000/ để xem kết quả!

🖼️ 4. Ví dụ 2: Trang web có nhiều trang nhỏ


from flask import Flask

app = Flask(__name__)

@app.route('/')
def home():
    return "<h1>Trang chủ</h1><p>Chào mừng bạn đến với website học Python!</p>"

@app.route('/gioithieu')
def about():
    return "<h1>Giới thiệu</h1><p>Đây là trang giới thiệu về chúng tôi.</p>"

@app.route('/lienhe')
def contact():
    return "<h1>Liên hệ</h1><p>Email: pythonhoc@gmail.com</p>"

if __name__ == '__main__':
    app.run(debug=True)
🧭 Truy cập:
  • / → Trang chủ
  • /gioithieu → Trang giới thiệu
  • /lienhe → Trang liên hệ

📝 5. Ví dụ 3: Gửi dữ liệu từ trình duyệt đến Python


from flask import Flask, request

app = Flask(__name__)

@app.route('/')
def form():
    return '''
        <form action="/chao" method="post">
            Nhập tên của bạn: <input name="ten">
            <input type="submit" value="Gửi">
        </form>
    '''

@app.route('/chao', methods=['POST'])
def chao():
    ten = request.form.get('ten')
    return f"<h2>Xin chào, {ten}! Chúc bạn một ngày vui vẻ!</h2>"

if __name__ == '__main__':
    app.run(debug=True)

🧠 Đây là cách Flask nhận dữ liệu người dùng và trả lại kết quả động!

🎨 6. Ví dụ 4: Kết hợp HTML riêng biệt

Tạo cấu trúc thư mục:


my_web/
 ├─ app.py
 └─ templates/
     ├─ index.html
     └─ about.html
📄 app.py:

from flask import Flask, render_template

app = Flask(__name__)

@app.route('/')
def home():
    return render_template('index.html')

@app.route('/about')
def about():
    return render_template('about.html')

if __name__ == '__main__':
    app.run(debug=True)
📄 templates/index.html:

<!DOCTYPE html>
<html>
<head>
  <title>Trang chủ Flask</title>
</head>
<body>
  <h1>Chào mừng đến với website Flask đầu tiên!</h1>
  <a href="/about">Tới trang Giới thiệu</a>
</body>
</html>
📄 templates/about.html:

<!DOCTYPE html>
<html>
<head>
  <title>Giới thiệu</title>
</head>
<body>
  <h2>Đây là trang giới thiệu được tách ra từ file HTML riêng.</h2>
  <a href="/">Quay lại Trang chủ</a>
</body>
</html>

➡️ Flask sẽ tự đọc các file HTML trong thư mục /templates và hiển thị ra trình duyệt.

🚀 7. Thử thách cho học sinh

  • Tạo thêm trang “Sở thích” hiển thị danh sách 3 sở thích của bạn.
  • Tạo form để nhập môn học yêu thích, trả về “Bạn thích môn Toán!”.
  • Trang trí bằng màu nền hoặc hình ảnh.

🏁 Kết luận

  • Flask giúp Python tạo web dễ dàng chỉ trong vài dòng code.
  • Học sinh THPT có thể làm web cá nhân nhỏ, rồi mở rộng thêm CSS, JS, SQL.

💬 Gợi ý mở rộng

  • Thử chạy code trên Replit hoặc PythonAnywhere.
  • Học thêm HTML, CSS, JavaScript để trang web chuyên nghiệp hơn.

© 2025 Trường THPT Phan Chu Trinh – Gia Lai | Biên soạn: DYI

Không có nhận xét nào:

Đăng nhận xét

Bài đăng phổ biến

💬 Bình luận

💬 Bình luận

📌 Danh sách bình luận