Khi Python… có thể nghe và trả lời qua internet
Bạn tưởng tượng thử nè:
- Bạn có một file dữ liệu → Và bạn muốn người khác truy cập từ xa
- Bạn có một hàm xử lý → Và bạn muốn biến nó thành một địa chỉ web mà bất kỳ ai cũng có thể gọi đến
- Bạn đang làm việc nhóm → Và bạn muốn tạo ra một API nho nhỏ để chia sẻ dữ liệu giữa frontend và backend
Chào mừng bạn đến với Flask – framework siêu nhẹ và siêu dễ của Python, dùng để xây dựng API và web app nhỏ gọn cực nhanh!
Mục tiêu bài học
- Hiểu API là gì và Flask giúp gì
- Cài đặt và chạy Flask cơ bản
- Tạo các route (
/
) để phản hồi nội dung - Trả về JSON thay vì HTML
- Nhận dữ liệu từ người dùng (GET/POST)
- Làm API demo trả điểm thi từ tên học sinh
1. API là gì?
API là viết tắt của Application Programming Interface – nghĩa là giao diện để chương trình khác có thể giao tiếp với chương trình của bạn.
Nghĩ đơn giản: Bạn viết 1 đoạn code → Người khác không cần xem code, chỉ cần gọi đúng địa chỉ URL và nhận được phản hồi dữ liệu.
2. Cài Flask
pip install flask
3. Chạy Flask cơ bản
from flask import Flask
app = Flask(__name__)
@app.route("/")
def home():
return "Chào bạn đến với API Python!"
if __name__ == "__main__":
app.run(debug=True)
📌 Chạy file, bạn sẽ thấy:
→ Mở trình duyệt vào http://127.0.0.1:5000/
→ Và dòng chữ “Chào bạn đến với API Python!” hiện ra.
Chúc mừng! Bạn vừa tạo API đầu tiên!
4. Trả dữ liệu JSON
from flask import jsonify
@app.route("/thongtin")
def thongtin():
du_lieu = {
"ten": "Linh",
"diem": 9.0
}
return jsonify(du_lieu)
📌 Truy cập http://127.0.0.1:5000/thongtin
sẽ trả:
{
"ten": "Linh",
"diem": 9.0
}
5. API có tham số trên URL
@app.route("/diem/<ten>")
def tra_diem(ten):
ds = {
"Nam": 8.5,
"Linh": 9.0,
"Tùng": 7.5
}
return jsonify({ten: ds.get(ten, "Không tìm thấy")})
📌 Truy cập http://127.0.0.1:5000/diem/Linh
→ trả {"Linh": 9.0}
📌 Truy cập http://127.0.0.1:5000/diem/Tèo
→ trả {"Tèo": "Không tìm thấy"}
6. Nhận dữ liệu từ phương thức POST
from flask import request
@app.route("/cong", methods=["POST"])
def cong():
data = request.get_json()
tong = data["a"] + data["b"]
return jsonify({"ket_qua": tong})
📌 Gửi từ Postman hoặc code khác:
{
"a": 5,
"b": 7
}
→ Trả về: {"ket_qua": 12}
7. Bài tập thực chiến
Bài 1: Tạo API /sinhvien/<ten>
trả điểm từ 1 danh sách giả lập
Bài 2: Tạo API /nhanvien
POST thông tin tên + lương, trả lại tiền thưởng (10%)
Bài 3: Tạo API /tonghop
đọc từ file diem.json
và trả về trung bình cộng các điểm
Bạn đã học được
- Flask là cách đơn giản để tạo API từ Python
- Tạo route, nhận tham số, phản hồi JSON
- Làm backend siêu nhẹ, dễ tích hợp với JS, web, mobile app
- Nền tảng để bạn tự làm REST API, form xử lý, dashboard dữ liệu
- Đưa chương trình Python của bạn ra thế giới qua HTTP
Bạn đã biết cách biến hàm Python thành dịch vụ web
Và bài học tiếp theo sẽ càng “ảo diệu” hơn… Gửi email tự động bằng Python – Chương trình biết gửi thư chào hỏi, báo lỗi, báo cáo!
Thảo luận