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

Flask là một web framework, nó là một Python module cho phép bạn phát triển các ứng dụng web một cách dễ dàng. Nó có tính mở rộng và là một microframework không bao gồm ORM (Object Relational Manager) hoặc các tính năng tương tự.

Flask có nhiều tính năng thú vị như định tuyến url, hay template engine. Nó là một framework ứng dụng web WGSI.

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

Nếu bạn quan tâm, hãy xem các vị trí đang tuyển dụng của Got It tại: bit.ly/gotit-hanoi và đọc thêm về quy trình tuyển dụng tại đây.

Ngoc Nguyen
Ngoc Nguyen
December 05, 2020
0
Share this post to:
Tags:
0 Comments
Inline Feedbacks
View all comments
Các bài viết liên quan
Ngôn ngữ Python và 15 sự thật bạn có thể chưa biết

Ngôn ngữ Python và 15 sự thật bạn có thể chưa biết

Dùng ngôn ngữ Python hàng ngày, nhưng bạn có biết rằng Python vốn là một dự án sở thích dịp Giáng Sinh? Không chỉ có một nguồn gốc thú vị, còn có rất nhiều sự thật khác về ngôn ngữ này làm cho bạn hứng thú đấy. Hãy khám phá 15 sự thật đó ngay […]
Top các thư viện Python sử dụng cho lập trình trí tuệ nhân tạo

Top các thư viện Python sử dụng cho lập trình trí tuệ nhân tạo

Các thư viện phổ biến được dùng cho lập trình trí tuệ nhân tạo là gì? Một trong những lý do Python trở thành ngôn ngữ lý tưởng nhất cho việc lập trình AI là hệ sinh thái thư viện mà nó cung cấp. Các thuật toán và công cụ AI có thể được thực […]
Lý do nên chọn lập trình trình trí tuệ nhân tạo (AI) bằng Python

Lý do nên chọn lập trình trình trí tuệ nhân tạo (AI) bằng Python

Hiện nay, trong thế giới lập trình, Python đang dẫn đầu trong cuộc đua tìm ra ngôn ngữ tốt nhất cho AI và mạng nơ-ron. Trong bài viết này, hãy cùng tìm hiểu tại sao lập trình trí tuệ nhân tạo bằng Python lại là một lựa chọn lý tưởng đến vậy. Mục lụcNhững thế […]
Bắt đầu học ngôn ngữ lập trình Python qua các dự án

Bắt đầu học ngôn ngữ lập trình Python qua các dự án

Học ngôn ngữ lập trình Python là luôn nằm trong top những điều mọi người nên làm trong những năm gần đây. Python được sử dụng rộng rãi trong nhiều lĩnh vực hot như Khoa học Dữ liệu, phát triển web, kỹ thuật phần mềm, phát triển trò chơi, tự động hóa… Sẽ rất khó […]
Python dùng để làm gì? Top 5 ngành cần Python

Python dùng để làm gì? Top 5 ngành cần Python

Python không còn là cái tên xa lạ với các bạn yêu công nghệ. Với Python, bạn có thể thử ứng dụng lập trình vào cuộc sống. Hay đơn giản là có thiên hướng trở thành lập trình viên. Nhưng Python dùng để làm gì? Và Python đóng vai trò gì trong cuộc sống chúng […]
Học Python ở đâu? – 5 Website miễn phí tốt nhất

Học Python ở đâu? – 5 Website miễn phí tốt nhất

Python đang trở thành nguồn động lực lớn cho nhiều người học lập trình. Với kiến thức từ Python, bạn có thể xây dựng, phát triển website, viết các ứng dụng web sử dụng Django,… Nhưng học Python ở đâu sẽ giúp bạn có thể “thành thục” Python nhanh nhất? Nếu bạn đang có mong […]