🧠 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.
🧩 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:
-
-
-
Sau khi chạy, mở
-
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
📌 Danh sách bình luận