* Tuyển tập các đề thi chọn đội tuyển 2020-2021 * Tuyển sinh CLB Toán Lim năm học mới * Tuyển tập các bài toán số học hay ôn thi chọn đội tuyển VMO 2022 * Tuyển tập các bài toán Hình Học Phẳng ôn thi chọn đội tuyển hay * Tuyển chọn các bài toán hay trong ôn tập thi vào 10 chuyên Toán * Hướng dẫn cách chèn hình ảnh vào web sử dụng Imgur

Framework Flask-Làm quen với web development


Được tạo lúc 2021-06-10 19:21:36 , cập nhật lúc 2021-06-10 20:48:37


Khương Nguyễn

Flask-Framework Python giúp bạn làm quen với web development

csc.edu.vn/data/images/tin-tuc/lap-trinh-csdl/k...

Hi xin chào các bạn, thông qua loạt bài viết này, mình xin giới thiệu tới các bạn về Flask Framework. Qua đó giúp các bạn hiểu và xây dựng được những web app thú vị nhé.

Bài viết tham khảo từ: https://niithanoi.edu.vn/flask-la-gi.html

1) Tại sao nên sử dụng Flask?


Flask cung cấp cho các lập trình viên khả năng tùy biến khi phát triển ứng dụng web, nó cung cấp cho bạn các công cụ, thư viện và cơ chế cho phép bạn xây dựng một ứng dụng web nhưng nó sẽ không thực thi bất kỳ sự phụ thuộc nào hoặc cho bạn biết dự án sẽ như thế nào.

Ứng dụng web có thể là blog, trang web thương mại hoặc một số trang web khác, nó vẫn cho phép các lập trình viên cơ hội sử dụng một số tiện ích mở rộng để thêm nhiều chức năng hơn cho ứng dụng web.
 

2) Ưu điểm và Nhược điểm của Flask


Như đã nêu trước đó, Flask được phân loại là Web Framework siêu nhỏ, nhẹ. Thông thường, một framework vi mô là một framework tối giản hoặc không phụ thuộc vào thư viện bên ngoài.


Và trong mọi trường hợp, khi một lập trình viên sử bất kỳ framework nào, nó đều có ưu điểm và nhược điểm, flask cũng vậy:

  • Tốc độ
  • Hỗ trợ cho NoQuery
  • Độ phức tạp tối thiểu
  • Chủ nghĩa tối giản tuyệt đối
  • Không có ORM, dễ dàng kết nối với tiện ích mở rộng
  • Trình gỡ lỗi được nhúng trong trình duyệt
  • Mã ngắn và đơn giản trong số các bộ xương Python khác

Điểm nổi bật khi sử dụng Flask để lập trình web là bạn sẽ rất ít bị phụ thuộc bên thứ 3, do đó đề phòng được các lỗi bảo mật.

Bạn có thể kiểm soát mọi thứ khi sử dụng Flask. Và quan trọng, học Flask giúp bạn hiểu các cơ chế bên trong các Framework khác. Đây là tiền đề tốt để bạn có thể nắm giữ nhiều công nghệ hơn.


Mặc dù nhược điểm của việc sử dụng Flask là đôi khi bạn phải tự mình làm nhiều việc hơn hoặc cần tự mình gọi thêm các tiện ích mở rộng.


Flask dựa trên Werkzeug (một thư viện tiện ích WSGI) và Jinja2 (template engine).

WSGI là Giao diện Cổng Máy chủ Web. Đây là một đặc tả mô tả cách máy chủ web giao tiếp với các ứng dụng web và cách các ứng dụng web có thể được kết nối với nhau để xử lý một yêu cầu.

Bạn có thể sử dụng framework này để biên dịch các mô-đun và thư viện, điều này cũng sẽ giúp lập trình viên viết các ứng dụng web mà không cần viết code bậc thấp như quản lý luồng hoặc giao thức.

3) Quan điểm cá nhân

Ý kiến cá nhân mà nói thì Template Jinja2 có phần giống với template của blade bên Laravel. Cách xử lí Route của bên Flask có phần đơn giản hơn bên Laravel khá nhiều. Cách thành phần như Controller, Route hoàn toàn có thể viết chung mà vẫn không bị rối. Cách tổ chức thư mục cũng là do bạn tùy biến sao cho phù hợp nhu cầu.

Bước đầu tiên có lẽ nên là một chương trình hello world đã nhỉ.

4) Cài đặt và chương trình Hello World

Các bạn sẽ cài đặt thông qua việc sử dụng pip trong Python. Dĩ nhiên các bạn phải có Python 3

Các bạn sẽ cài đặt bằng cách gõ vào cmd lệnh: pip install flask

Sau đó đợi khi cài đặt xong, thì chúng ta sẽ gõ những dòng lệnh đầu tiên trong file app.py các bạn tạo trong thư mục làm việc

from flask import Flask

app = Flask(__name__)

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

Sau khi các bạn thực hiện các dòng lệnh trên các bạn sẽ gõ vào cmd: 

env:FLASK_ENV='development' để chuyển sang chế độ debug(các bạn có thể xem lỗi ngay trên trình duyệt).

Rồi nhấn Enter sau đó tiếp tục gõ flask run vào cmd khi đó chương trình web của các bạn sẽ chạy trên: localhost:5000

Vào bài viết ngày mai mình sẽ nói rõ ý nghĩa những dòng lệnh trên cùng cấu trúc thư mục chạy flask. Các bạn đón xem

(còn tiếp...)

 

 

Trả lời
Khương Nguyễn
Generic placeholder image
Geometry Man
Bình luận được tạo lúc 2021-06-11 20:23:37
Chỉnh sửa lần cuối vào 2021-06-11 20:34:20
Nội dung

5) Sắp xếp thư mục trong Flask

Thực ra thì với bất cứ framework nào thì việc các bạn sắp xếp thư mục sao cho hợp lí cũng là điều quan trọng. Với Laravel ta được cài đặt các thư mục một cách khá là hợp lí. Đồng thời cài đặt gần như đầy đủ mọi thứ. Flask không tự động có hết mọi thứ như vậy. Do đó chúng ta sẽ cần quản lí các thư mục theo ý chúng ta.

Hiện tại cách sắp xếp thư mục mà mình vẫn đang hay sử dụng là:

- project:

       - templates:

           - pages:

             - Các file view html cho người dùng

           - backend:

             -Các file view cho admin                  

       - app.py(file này chứa tất cả các module quan trọng)

       - dbconfig.py(kết nối hoặc tạo database)(ở đây mình khuyến khích các bạn sử dụng SQLite)

       - model.py(tạo bảng trong database, tạo các class để quản lí ở controller)

       - routes.py(tạo các đường dẫn trên web) phần này các bạn có thể kết hợp với controller.

Bài viết tới mình sẽ viết về cách tạo model... Các bạn đón chờ nhé

Trả lời
Khương Nguyễn
Generic placeholder image
Geometry Man
Bình luận được tạo lúc 2021-06-12 14:05:18
Chỉnh sửa lần cuối vào 2021-06-12 14:05:34
Nội dung

6) Model trong Flask

Chúng ta đã biết khởi tạo web app cơ bản đầu tiên qua mục số 5). Mô Hình MVC là 1 mô hình rất phổ biến trong việc tạo ra 1 trang web. Do đó chúng ta thường hay gặp mô hình này trong làm web. Flask rất tốt trong việc quản lí cấu trúc này.

 

Các bạn có thể xem chi tiết trong video sau <3

 

Trả lời