Thông báo: Download 4 khóa học Python từ cơ bản đến nâng cao tại đây.
Hướng dẫn làm ứng dụng TODO với Flask dành cho người mới bắt đầu trong Python
Trong bài viết này, bạn sẽ học cách tạo một ứng dụng quản lý công việc (TODO App) đơn giản bằng Flask trong một khóa học cấp tốc. Flask là một trong những framework web phổ biến nhất được viết bằng Python. Đây là một framework nhẹ, lý tưởng cho người mới bắt đầu, với mục tiêu giúp quá trình khởi đầu trở nên nhanh chóng và dễ dàng, đồng thời có khả năng mở rộng để phát triển các ứng dụng phức tạp hơn.
Nội dung hướng dẫn:
- Cài đặt và thiết lập Flask
- Định nghĩa các routes (đường dẫn)
- Sử dụng templates
- Tích hợp cơ sở dữ liệu (sử dụng SQLAlchemy và SQLite)
- Xây dựng các chức năng quản lý công việc trong TODO App
- Thêm giao diện đẹp với Semantic UI
Mã nguồn đầy đủ có thể được tìm thấy trên GitHub.
Thiết lập dự án trong Python
Tạo dự án với môi trường ảo
$ mkdir myproject $ cd myproject $ python3 -m venv venv
Kích hoạt môi trường:
Bài viết này được đăng tại [free tuts .net]
Trên macOS/Linux:
$ . venv/bin/activate
Trên Windows:
venv\Scripts\activate
Cài đặt Flask và Flask-SQLAlchemy
$ pip install Flask $ pip install Flask-SQLAlchemy
Tạo ứng dụng "Hello World" trong Python
Tạo file app.py và thêm đoạn mã sau:
from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello, World!' if __name__ == "__main__": app.run(debug=True)
Lưu ý:
- Dùng decorator
@app.route('đường dẫn')
để khai báo mỗi route. - Trong ví dụ trên, dấu
/
là trang chính (home page). - Cài đặt
debug=True
giúp tự động tải lại server khi bạn thay đổi mã.
Chạy ứng dụng:
$ python app.py
Mở trình duyệt và truy cập: http://127.0.0.1:5000/ để thấy dòng chữ "Hello, World!".
Tích hợp cơ sở dữ liệu trong Python
Chỉnh sửa file app.py như sau:
from flask import Flask from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) # Thiết lập SQLite (cơ sở dữ liệu) app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///db.sqlite' app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False db = SQLAlchemy(app) class Todo(db.Model): id = db.Column(db.Integer, primary_key=True) title = db.Column(db.String(100)) complete = db.Column(db.Boolean) @app.route('/') def hello_world(): return 'Hello, World!' if __name__ == "__main__": db.create_all() # Khởi tạo database app.run(debug=True)
Hiển thị danh sách Todo trong Python
Thay thế hàm hello_world() để trả về template:
from flask import Flask, render_template ... @app.route("/") def home(): todo_list = Todo.query.all() return render_template("base.html", todo_list=todo_list)