Flask là một framework được sử dụng để xây dựng các ứng dụng web với ngôn ngữ lập trình Python, được thiết kế để đơn giản, linh hoạt và dễ dàng để học. Với Flask, bạn có thể tạo ra các ứng dụng web đơn giản như blog cá nhân, trang web tin tức hay thậm chí là các ứng dụng web phức tạp hơn như một trang thương mại điện tử. Trong bài viết này, chúng ta sẽ tìm hiểu cách tạo một ứng dụng web đơn giản bằng Flask.
Giới thiệu Flask
Flask là một trong những framework phổ biến nhất để xây dựng các ứng dụng web với ngôn ngữ lập trình Python. Được phát triển bởi Armin Ronacher vào năm 2010 và hiện tại đang được duy trì bởi một nhóm các lập trình viên tài năng. Flask xây dựng trên một số thư viện Python như Werkzeug và Jinja2, giúp cho việc phát triển ứng dụng web trở nên dễ dàng hơn.
Flask có một số đặc điểm nổi bật như sau:
-
Đơn giản và dễ học: Flask có cấu trúc đơn giản và dễ hiểu, giúp cho người mới bắt đầu có thể nhanh chóng làm quen với nó.
-
Linh hoạt: Flask cho phép bạn tự do lựa chọn các công nghệ và thư viện để sử dụng trong ứng dụng của mình.
-
Tích hợp tốt với các công nghệ khác: Flask có thể tích hợp với các công nghệ như SQL databases, JavaScript libraries và các framework khác.
-
Hỗ trợ mở rộng: Flask có cộng đồng lớn và nhiều plugin được phát triển để giúp bạn mở rộng tính năng của ứng dụng.
Cài đặt Flask
Để bắt đầu sử dụng Flask, bạn cần cài đặt Python và pip (package manager của Python) trên máy tính của mình. Sau đó, bạn có thể cài đặt Flask bằng cách chạy lệnh sau trong terminal:
pip install Flask: nếu bạn muốn sử dụng một phiên bản cụ thể của Flask, bạn có thể cài đặt bằng cách chỉ định phiên bản trong lệnh cài đặt.
Ví dụ:
pip install Flask==1.0.2
Sau khi cài đặt xong, bạn có thể kiểm tra phiên bản của Flask bằng cách chạy lệnh sau trong terminal:
python -m flask --version: nếu phiên bản được hiển thị, có nghĩa là bạn đã cài đặt thành công Flask trên máy tính của mình.
Tạo ứng dụng web đơn giản
Bây giờ chúng ta sẽ tạo một ứng dụng web đơn giản bằng Flask. Đầu tiên, hãy tạo một thư mục mới và đặt tên cho nó là "flask-app". Trong thư mục này, tạo một file có tên là "app.py" và một thư mục con có tên là "templates".
Trong file "app.py", hãy nhập các thư viện cần thiết và khởi tạo một đối tượng Flask như sau:
from flask import Flask
app = Flask(__name__)
Tiếp theo, chúng ta sẽ tạo một route để hiển thị trang chủ của ứng dụng. Route là một URL mà người dùng có thể truy cập để xem nội dung của trang web. Trong Flask, chúng ta có thể tạo route bằng cách sử dụng decorator "@app.route" như sau:
@app.route('/')
def home():
return 'Hello World!'
Ở đây, chúng ta đã tạo một route có URL là "/" và khi người dùng truy cập vào đường dẫn này, nội dung "Hello World!" sẽ được hiển thị trên trình duyệt.
Tiếp theo, chúng ta sẽ tạo một route để hiển thị thông tin của một người dùng. Để làm điều này, chúng ta cần sử dụng biến trong URL. Ví dụ, nếu chúng ta muốn hiển thị thông tin của người dùng có tên là "John", có thể tạo route như sau:
@app.route('/user/<name>')
def user(name):
return 'Hello {}'.format(name)
Ở đây, chúng ta đã sử dụng biến "<name>" trong URL và truyền giá trị của biến này vào hàm "user()". Khi người dùng truy cập vào đường dẫn "/user/John", nội dung "Hello John" sẽ được hiển thị trên trình duyệt.
Sau khi đã tạo các route, cần khởi chạy ứng dụng bằng cách thêm đoạn code sau vào cuối file "app.py":
if __name__ == '__main__':
app.run()
Có thể chạy ứng dụng bằng cách chạy lệnh sau trong terminal:
python app.py
Nếu không có lỗi nào xảy ra, bạn có thể truy cập vào địa chỉ "http://localhost:5000" trên trình duyệt để xem kết quả.
Sử dụng template trong Flask
Một trong những tính năng mạnh mẽ của Flask là khả năng sử dụng các template để tạo giao diện cho ứng dụng web. Điều này giúp cho việc phát triển trở nên dễ dàng hơn và giúp cho ứng dụng trở nên linh hoạt hơn.
Đầu tiên, cần tạo một file template có tên là "index.html" trong thư mục "templates". Trong file này, có thể sử dụng các thẻ HTML và Jinja2 để tạo giao diện cho trang web.
Ví dụ:
<!DOCTYPE html>
<html>
<head>
<title>Flask App</title>
</head>
<body>
<h1>Hello World!</h1>
<p>This is a simple Flask app.</p>
</body>
</html>
Tiếp theo, cần thay đổi hàm "home()" trong file "app.py" để trả về template thay vì chuỗi văn bản như trước đây:
from flask import render_template
@app.route('/')
def home():
return render_template('index.html')
Bây giờ, khi người dùng truy cập vào đường dẫn "/", trang web sẽ hiển thị nội dung của file "index.html".
Để truyền các biến vào template, chúng ta có thể sử dụng hàm "render_template()" như sau:
@app.route('/user/<name>')
def user(name):
return render_template('user.html', name=name)
Ở đây, chúng ta đã truyền giá trị của biến "<name>" vào template "user.html" và có thể sử dụng biến này trong template bằng cách sử dụng cú pháp Jinja2 như sau:
<!DOCTYPE html>
<html>
<head>
<title>Flask App</title>
</head>
<body>
<h1>Hello {{ name }}!</h1>
<p>This is a simple Flask app.</p>
</body>
</html>
Kết luận: trong bài viết này, chúng ta đã tìm hiểu về Flask và cách tạo một ứng dụng web đơn giản bằng framework này. Cũng như cách cài đặt Flask, tạo route và sử dụng template để tạo giao diện cho ứng dụng.Hy vọng bài viết này sẽ giúp bạn có thêm kiến thức về Flask và khám phá thêm nhiều tính năng hữu ích của framework này.