Python
2021.01.14

Flask trong Python là gì? Lý do nên dùng Flask

Web framework là gì?

Các framework ứng dụng web hoặc đơn giản là web framework đại diện cho một tập hợp các thư viện và module cho phép các nhà phát triển ứng dụng web viết ứng dụng mà không cần lo lắng về các chi tiết cấp thấp như giao thức (protocol), quản lý luồng (thread management), v.v.

Flask là gì

Flask là một framework ứng dụng web được viết bằng Python. Nó được phát triển bởi Armin Ronacher, người dẫn đầu một nhóm những người đam mê Python quốc tế có tên là Poocco. Flask dựa trên bộ công cụ Werkzeg WSGI và template engine Jinja2. Cả hai đều là các dự án của Pocco.

WSGI

Giao diện cổng máy chủ web (Web Server Gateway Interface, WSGI) đã được sử dụng như một tiêu chuẩn để phát triển ứng dụng web Python. WSGI là đặc điểm kỹ thuật của giao diện chung giữa máy chủ web và ứng dụng web.

Werkzeug

Werkzeug là một bộ công cụ WSGI thực hiện các yêu cầu, đối tượng phản hồi và các chức năng tiện ích. Điều này cho phép một web framework được xây dựng trên đó. Flask framework sử dụng Werkzeg làm một trong những cơ sở của nó.

jinja2

jinja2 là một template engine phổ biến cho Python. Hệ thống web template kết hợp một template với một nguồn dữ liệu cụ thể để hiển thị một trang web động.

Điều này cho phép bạn chuyển các biến Python vào các HTML template:

<html>
    <head>
        <title>{{ title }}</title>
    </head>
    <body>
        <h1>Hello {{ username }}</h1>
    </body>
</html>

Microframework

Flask thường được coi là một microframework. Nó được thiết kế để giữ cho cốt lõi của ứng dụng đơn giản và có thể mở rộng (scalable).

Thay vì sử dụng một abstraction layer để hỗ trợ cơ sở dữ liệu, Flask hỗ trợ các phần extensions để thêm các khả năng như vậy vào ứng dụng.

Tại sao nên chọn Flask?

Không giống như Django framework, Flask rất “Pythonic” – dễ hiểu, rất tự nhiên. Ví dụ, để tạo ứng dụng “Hello World”, bạn chỉ cần một vài dòng mã.

Đây là một ví dụ code soạn sẵn.

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World!'

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

Nếu bạn muốn dùng Flask trên máy tính local của mình, bạn hoàn toàn có thể thực hiện một cách dễ dàng. Bạn chỉ cần tải chương trình này dưới dạng server.py và chạy nó với python server.py.

$ python server.py
* Serving Flask app “hello
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

Sau đó, nó khởi động một máy chủ web chỉ khả dụng trên máy tính của bạn. Trong trình duyệt web, hãy mở localhost trên cổng 5000 (url) và bạn sẽ thấy “Hello World” hiển thị.

Để lưu trữ và sử dụng trực tuyến, bạn có thể sử dụng PythonAnywhere
Một số ví dụ:

flask

Dù Flask là một microframework, nhưng điều đó không có nghĩa là toàn bộ ứng dụng của bạn phải nằm trong một tệp Python duy nhất. Đối với các chương trình lớn, bạn có thể và nên sử dụng nhiều tệp hơn tuỳ thuộc vào độ phức tạp.

Micro có nghĩa là Flask framework đơn giản nhưng có thể mở rộng (extensible). Bạn có thể đưa ra tất cả các quyết định: sử dụng cơ sở dữ liệu nào, bạn có muốn ORM không, v.v., Flask không quyết định thay bạn.

Flask là một trong những web framework phổ biến nhất, có nghĩa là nó luôn được cập nhật và hiện đại. Bạn có thể dễ dàng mở rộng chức năng và mở rộng quy mô cho các ứng dụng phức tạp.

Got It Vietnam via Pythonbasic