- vừa được xem lúc

#2 Cài đặt ứng dụng Flask

0 0 3

Người đăng: Ethnic Dev

Theo Viblo Asia

Aplication setup

Một ứng dụng Flask là một instance (thể hiện) của class Flask. Mọi thứ về ứng dụng, như cấu hình urls, database,... sẽ được đăng ký với class này.

Cách đơn giản để tạo một ứng dụng Flask là tạo một global Flask instance ngay đầu tiên của file code của bạn. như "Hello, World!" đã được ví dụ ở trang trước. Mặc dù điều này đơn giản và hữu ít trong một số trường hợp, nhưng nó cũng gây ra một số vấn đề phức tạp khi dự án phát triển.

Thay vì tạo một instance Flask global, bạn sẽ tạo nó vào trong một fucntion. Chức nằng này gọi là application factory. Mỗi configuation, registration và thiết lập các của ứng dụng cần xảy ra bên trong, sau đó ứng dụng sẽ được return.

The application factory

Thôi, bắt đầu code thôi. Tạo thư mục flaskr và and file __init__.py. Nó sẽ chứa application factory và nó cho Python biết rằng thư mục flaskr là một gọi package.

$ mkdir flaskr

flaskr/__init__.py

import os from flask import Flask def create_app(test_config=None): # create and configure the app app = Flask(__name__, instance_relative_config=True) app.config.from_mapping( SECRET_KEY='dev', DATABASE=os.path.join(app.instance_path, 'flaskr.sqlite'), ) if test_config is None: # load the instance config, if it exists, when not testing app.config.from_pyfile('config.py', silent=True) else: # load the test config if passed in app.config.from_mapping(test_config) # ensure the instance folder exists try: os.makedirs(app.instance_path) except OSError: pass # a simple page that says hello @app.route('/hello') def hello(): return 'Hello, World!' return app

create_app là một chức năng của application factory.

  1. app = Flask(__name__, instance_relative_config=True) tạo thực thể Flask
    • __name__ là tên của module Python hiện tại. Ứng dụng cần biết vị trí để thiết lập đường dẫn. Và __name__là một cách thuận tiện để thực hiện điều đó.
    • instance_relative_config=True cho ứng dụng biết rằng cấu hình của file liên quan đến thư mục thực thể.
  2. app.config.from_mapping() đặt một số cấu hình mặc định mà ứng dụng sẽ sử dụng:
    • SECRET_KEY được Flask và các tiện ích mở rộng để giữ dữ liệu được an toàn. Nó được đặt dev để cung cấp giá trị dễ dàng trong suốt quá trình phát triển, nhưng nó sẽ cập nhật lại giá tri deploy
    • DATABASE là nơi đường dẫn file database SQLite sẽ được lưu. Nó nằm dưới app.instance_path
  3. app.config.from_pyfile() nó sẽ thực hiện ghi đè lại các cấu hình mặc định với các giá trị có trong file config.py bên trong file instance nếu nó tồn tại. Ví dụ khi triển khai dự án thì nó sẽ được sử dụng giá trị SECRET_KEY thực.

Run the application

Nào, ngay bây giờ bạn có thể chạy ứng dụng sử dụng command flask. Từ termianl, cho Flask biết nơi ứng dụng của bạn, sua đó chạy nó trong debug mode. Hãy nhớ, bạn đang ở vị trí flask-tutorial chứ không phải ở package flaksr

Debug mode hiển thị trình gỡ lỗi. khi mà người dùng tương tác trên một page và đưa ra ngoại lệ và khởi động lại máy chủ bất cứ khi nào bạn thay đổi code. Bạn có thể để nó chạy và chỉ cần tải lại trang trình duyệt khi làm theo hướng dẫn

$ flask --app flaskr run --debug

Bạn nhìn thấy đầu ra tương tự như bên dưới:

* Serving Flask app "flaskr"
* Debug mode: on
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
* Restarting with stat
* Debugger is active!
* Debugger PIN: nnn-nnn-nnn

Hãy truy cập http://127.0.0.1:5000/hello

Bình luận

Bài viết tương tự

- vừa được xem lúc

Lớp trong Python

. Hôm ni, mình học tiếp về bạn “Lớp(class) trong python”, bài blog tiếp theo nằm trong series “Khám phá Đại Bản Doanh Python”(nội dung trong bài series này từ chủ yếu mình lấy từ python.org rồi viết lại hoặc dịch lại theo ngôn ngữ của mình).

0 0 17

- vừa được xem lúc

Tổng quan về Recommender System [Recommender System cơ bản - Phần 1]

Giới thiệu. Recommender System là một trong những ứng dụng phổ biến nhất của khoa học dữ liệu ngày nay.

0 0 353

- vừa được xem lúc

Gotchas trong Python

Python là một ngôn ngữ quen thuộc của hầu hết những người mới lập trình. Phần lớn bởi vì Python khá đơn giản trong cấu trúc, có nhu cầu cao và đặc biệt Python là một ngôn ngữ được ứng dụng cực kì rộng

0 0 22

- vừa được xem lúc

Hướng dẫn cơ bản framework FastAPI từ A -> Z (Phần 1)

Lời mở đầu. Chào các bạn, hôm nay tôi xin giới thiệu với các bạn về 1 framework API mà tôi mới vọc vạch mấy tuần trước.

0 0 95

- vừa được xem lúc

[Python Library Series] Pandas Tutorial for Beginners Part 1

Pandas là thư viện rất quan trọng đối với các lập trình viên Python hiện nay. Thư viện này được ví như backbone của hầu hết các dự án dữ liệu. . Note:.

0 0 32

- vừa được xem lúc

[Python Library Series] Pandas Tutorial for Beginners Part 2

Ở Part 1 chúng ta đã đi qua các bước hướng dẫn cách cài đặt Pandas, cách tạo và xem thông tin của một Dataframe. Như đã đề cập ở phần trước thì nội dung trong Part 2 này giúp chúng ta làm quen các tha

0 0 27