Ứng dụng web Python: Triển khai tập lệnh dưới dạng ứng dụng Flask

0
626

Bạn đã viết một tập lệnh Python mà bạn tự hào và bây giờ bạn muốn giới thiệu nó với thế giới. Nhưng làm thế nào ? Hầu hết mọi người sẽ không biết phải làm gì với .pytệp của bạn . Chuyển đổi tập lệnh của bạn thành một ứng dụng web Python là một giải pháp tuyệt vời để làm cho mã của bạn có thể sử dụng được cho nhiều đối tượng.

Trong hướng dẫn này, bạn sẽ học cách chuyển từ một tập lệnh Python cục bộ sang một ứng dụng web Flask được triển khai đầy đủ mà bạn có thể chia sẻ với mọi người.

Đến cuối hướng dẫn này, bạn sẽ biết:

  • Có gì các ứng dụng web đang có và làm thế nào bạn có thể tổ chức chúng trực tuyến
  • Cách chuyển đổi tập lệnh Python thành ứng dụng web Flask
  • Cách cải thiện trải nghiệm người dùng bằng cách thêm HTML vào mã Python của bạn
  • Cách triển khai ứng dụng web Python của bạn lên Google App Engine

Nâng cao kiến ​​thức cơ bản

Trong phần này, bạn sẽ có cơ sở lý thuyết về các chủ đề khác nhau mà bạn sẽ làm việc trong phần thực hành của hướng dẫn này:

  • Những loại phân phối mã Python nào tồn tại
  • Tại sao xây dựng một ứng dụng web có thể là một lựa chọn tốt
  • Ứng dụng web là gì
  • Cách nội dung được phân phối qua Internet
  • Lưu trữ web nghĩa là gì
  • Nhà cung cấp dịch vụ lưu trữ nào tồn tại và nhà cung cấp dịch vụ lưu trữ nào để sử dụng

Tìm hiểu kỹ về những chủ đề này có thể giúp bạn tự tin hơn khi viết mã Python cho Web. Tuy nhiên, nếu bạn đã quen thuộc với chúng, thì vui lòng bỏ qua, cài đặt Google Cloud SDK và bắt đầu xây dựng ứng dụng web Python của bạn.

Phân phối mã Python của bạn

Đưa mã của bạn đến người dùng của bạn được gọi là phân phối . Theo truyền thống, có ba cách tiếp cận khác nhau mà bạn có thể sử dụng để phân phối mã của mình để những người khác có thể làm việc với chương trình của bạn:

  1. Thư viện Python
  2. Chương trình độc lập
  3. Ứng dụng web Python

Bạn sẽ xem xét kỹ hơn từng cách tiếp cận dưới đây.

Thư viện Python

Nếu bạn đã làm việc với hệ sinh thái gói mở rộng của Python, thì bạn có thể đã cài đặt các gói Python với pip. Là một lập trình viên, bạn có thể muốn xuất bản gói Python của mình trên PyPI để cho phép người dùng khác truy cập và sử dụng mã của bạn bằng cách cài đặt nó bằng cách sử dụng pip:

$ python3 -m pip install <your-package-name>

Sau khi bạn đã xuất bản thành công mã của mình lên PyPI, lệnh này sẽ cài đặt gói của bạn, bao gồm cả các phần phụ thuộc của nó, trên bất kỳ máy tính nào của người dùng, với điều kiện là họ có kết nối Internet.

Nếu bạn không muốn xuất bản mã của mình dưới dạng gói PyPI, thì bạn vẫn có thể sử dụng sdistlệnh tích hợp sẵn của Python để tạo phân phối nguồn hoặc bánh xe Python để tạo bản phân phối được xây dựng để chia sẻ với người dùng của bạn.

Việc phân phối mã của bạn như thế này giữ cho nó gần với tập lệnh ban đầu bạn đã viết và chỉ thêm những gì cần thiết để người khác chạy nó. Tuy nhiên, sử dụng cách tiếp cận này cũng có nghĩa là người dùng của bạn sẽ cần phải chạy mã của bạn bằng Python. Nhiều người muốn sử dụng chức năng của tập lệnh của bạn sẽ không cài đặt Python hoặc sẽ không quen thuộc với các quy trình cần thiết để làm việc trực tiếp với mã của bạn.

Một cách thân thiện hơn với người dùng để trình bày mã của bạn cho người dùng tiềm năng là xây dựng một chương trình độc lập.

Chương trình độc lập

Các chương trình máy tính có nhiều hình dạng và hình thức khác nhau và có nhiều tùy chọn để chuyển đổi các tập lệnh Python của bạn thành các chương trình độc lập. Dưới đây, bạn sẽ đọc về hai khả năng:

  1. Đóng gói mã của bạn
  2. Xây dựng GUI

Các chương trình như PyInstaller , py2app , py2exe hoặc Briefcase có thể giúp đóng gói mã của bạn. Họ biến các tập lệnh Python thành các chương trình thực thi có thể được sử dụng trên các nền tảng khác nhau mà không yêu cầu người dùng của bạn chạy trình thông dịch Python một cách rõ ràng.

Lưu ý: Để tìm hiểu thêm về cách đóng gói mã của bạn, hãy xem Sử dụng PyInstaller để Dễ dàng Phân phối Ứng dụng Python hoặc nghe phần Real Python Podcast Tùy chọn để Đóng gói Ứng dụng Python của bạn .

Trong khi đóng gói mã của bạn có thể giải quyết các vấn đề phụ thuộc, mã của bạn vẫn chỉ chạy trên dòng lệnh. Hầu hết mọi người đã quen làm việc với các chương trình cung cấp giao diện người dùng đồ họa (GUI). Bạn có thể làm cho nhiều người hơn có thể truy cập mã Python của mình bằng cách xây dựng GUI cho nó.

Lưu ý: Có nhiều gói khác nhau có thể giúp bạn xây dựng GUI, bao gồm Tkinter , wxPython và PySimpleGUI . Nếu bạn muốn xây dựng một ứng dụng gốc dựa trên máy tính để bàn, thì hãy xem lộ trình học lập trình Python GUI .

Mặc dù một chương trình máy tính để bàn GUI độc lập có thể làm cho mã của bạn có thể tiếp cận được với nhiều đối tượng hơn, nhưng nó vẫn gây trở ngại cho mọi người khi bắt đầu. Trước khi chạy chương trình của bạn, người dùng tiềm năng có một vài bước để thực hiện. Họ cần tìm phiên bản phù hợp với hệ điều hành của mình, tải xuống và cài đặt thành công. Một số có thể bỏ cuộc trước khi họ làm được điều đó.

Thay vào đó, nhiều nhà phát triển xây dựng các ứng dụng web có thể được truy cập nhanh chóng và chạy trên trình duyệt Internet.

Ứng dụng web Python

Ưu điểm của các ứng dụng web là chúng độc lập với nền tảng và có thể được điều hành bởi bất kỳ ai có quyền truy cập Internet. Mã của chúng được triển khai trên máy chủ back-end , nơi chương trình xử lý các yêu cầu đến và phản hồi thông qua một giao thức được chia sẻ mà tất cả các trình duyệt đều hiểu.

Python hỗ trợ nhiều ứng dụng web lớn và là một lựa chọn phổ biến như một ngôn ngữ back-end. Nhiều ứng dụng web dựa trên Python được lập kế hoạch ngay từ đầu dưới dạng ứng dụng web và được xây dựng bằng cách sử dụng các khung web Python như Flask , mà bạn sẽ sử dụng trong hướng dẫn này.

Tuy nhiên, thay vì cách tiếp cận web đầu tiên được mô tả ở trên, bạn sẽ có một góc nhìn khác. Rốt cuộc, bạn không định xây dựng một ứng dụng web. Bạn vừa tạo một tập lệnh Python hữu ích và bây giờ bạn muốn chia sẻ với mọi người. Để làm cho nó có thể truy cập được với nhiều người dùng, bạn sẽ cấu trúc lại nó thành một ứng dụng web và sau đó triển khai nó trên Internet.

Đã đến lúc xem xét ứng dụng web là gì và nó khác với nội dung khác trên Web như thế nào.

Tìm hiểu về ứng dụng web Python

Trước đây, các trang web có nội dung cố định giống nhau cho mọi người dùng truy cập trang đó. Các trang web này được gọi là tĩnh vì nội dung của chúng không thay đổi khi bạn tương tác với chúng. Khi cung cấp một trang web tĩnh, máy chủ web sẽ đáp ứng yêu cầu của bạn bằng cách gửi lại nội dung của trang đó, bất kể bạn là ai hoặc bạn đã thực hiện những hành động nào khác.

Các trang web tĩnh như vậy không được coi là ứng dụng vì nội dung của chúng không được tạo động bằng mã. Trong khi các trang web tĩnh được sử dụng để tạo nên tất cả Internet, hầu hết các trang web ngày nay đều là các ứng dụng web thực sự , cung cấp các trang web động có thể thay đổi nội dung mà chúng cung cấp.

Các ứng dụng web chạy bằng Python sử dụng mã Python để xác định những hành động cần thực hiện và nội dung nào sẽ hiển thị. Mã của bạn được chạy bởi máy chủ web lưu trữ trang web của bạn, có nghĩa là người dùng của bạn không cần cài đặt bất kỳ thứ gì. Tất cả những gì họ cần để tương tác với mã của bạn là trình duyệt và kết nối Internet.

Để Python chạy trên một trang web có thể phức tạp, nhưng có một số khuôn khổ web khác nhau tự động xử lý các chi tiết. Như đã đề cập ở trên, bạn sẽ xây dựng một ứng dụng Flask cơ bản trong hướng dẫn này.

Trong phần sắp tới, bạn sẽ có góc nhìn cấp cao về các quy trình chính cần xảy ra để chạy mã Python của bạn trên máy chủ và gửi phản hồi cho người dùng của bạn.

Xem lại Chu kỳ phản hồi yêu cầu HTTP

Cung cấp nội dung động qua Internet bao gồm rất nhiều phần khác nhau và tất cả chúng đều phải giao tiếp với nhau để hoạt động chính xác. Dưới đây là tổng quan chung về những gì diễn ra khi người dùng tương tác với ứng dụng web:

  1. Gửi: Đầu tiên, người dùng của bạn đưa ra yêu cầu cho một trang web cụ thể trên ứng dụng web của bạn. Ví dụ: họ có thể làm điều này bằng cách nhập URL vào trình duyệt của họ.
  2. Đang nhận: Yêu cầu này được máy chủ web lưu trữ trang web của bạn nhận.
  3. Phù hợp: Máy chủ web của bạn hiện sử dụng Google App Engine để xem tệp cấu hình cho ứng dụng của bạn. Google App Engine đối sánh yêu cầu của người dùng với một phần cụ thể của tập lệnh Python của bạn.
  4. Đang chạy: Mã Python thích hợp được gọi bởi Google App Engine. Khi mã của bạn chạy, nó sẽ viết ra một trang web dưới dạng phản hồi.
  5. Đang gửi: Google App Engine gửi lại phản hồi này cho người dùng của bạn thông qua máy chủ web.
  6. Xem: Cuối cùng, người dùng có thể xem phản hồi của máy chủ web. Ví dụ: trang web kết quả có thể được hiển thị trong trình duyệt.

Đây là một quy trình chung về cách thức nội dung được truyền tải qua Internet. Ngôn ngữ lập trình được sử dụng trên máy chủ, cũng như các công nghệ được sử dụng để thiết lập kết nối đó, có thể khác nhau. Tuy nhiên, khái niệm được sử dụng để giao tiếp qua các yêu cầu và phản hồi HTTP vẫn giống nhau và được gọi là Chu trình phản hồi yêu cầu HTTP .

Lưu ý: Flask sẽ giải quyết hầu hết sự phức tạp này cho bạn, nhưng nó có thể giúp bạn hiểu rõ về quy trình này.

Để cho phép Flask xử lý các yêu cầu ở phía máy chủ, bạn sẽ cần tìm một nơi mà mã Python của bạn có thể trực tuyến. Lưu trữ mã của bạn trực tuyến để chạy ứng dụng web được gọi là lưu trữ web và có một số nhà cung cấp cung cấp dịch vụ lưu trữ web trả phí và miễn phí.

Chọn nhà cung cấp dịch vụ lưu trữ: Google App Engine

Khi chọn nhà cung cấp dịch vụ lưu trữ web, bạn cần xác nhận rằng nhà cung cấp đó hỗ trợ chạy mã Python. Nhiều người trong số họ tốn tiền, nhưng hướng dẫn này sẽ đi kèm với một tùy chọn miễn phí chuyên nghiệp và có khả năng mở rộng cao nhưng vẫn hợp lý để thiết lập: Google App Engine .

Lưu ý: Google App Engine thực thi hạn ngạch hàng ngày cho mỗi ứng dụng. Nếu ứng dụng web của bạn vượt quá các hạn ngạch này, thì Google sẽ bắt đầu lập hóa đơn cho bạn. Nếu bạn là khách hàng Google Cloud mới, thì bạn có thể nhận được tín dụng khuyến mại miễn phí khi đăng ký.

Có một số tùy chọn miễn phí khác, chẳng hạn như PythonAnywhere , Repl.it hoặc Heroku mà bạn có thể khám phá sau này. Việc sử dụng Google App Engine sẽ giúp bạn có một khởi đầu thuận lợi trong việc tìm hiểu về việc triển khai mã Python lên web vì nó đạt được sự cân bằng giữa việc giảm bớt độ phức tạp và cho phép bạn tùy chỉnh thiết lập.

Google App Engine là một phần của Google Cloud Platform (GCP), được điều hành bởi Google và đại diện cho một trong những nhà cung cấp đám mây lớn, cùng với Microsoft Azure và Amazon Web Services (AWS) .

Để bắt đầu với GCP, hãy tải xuống và cài đặt Google Cloud SDK cho hệ điều hành của bạn. Để có thêm hướng dẫn ngoài những gì bạn sẽ tìm thấy trong hướng dẫn này, bạn có thể tham khảo tài liệu của Google App Engine .

Lưu ý: Bạn sẽ làm việc với môi trường chuẩn Python 3. Môi trường tiêu chuẩn của Google App Engine hỗ trợ thời gian chạy Python 3 và cung cấp một cấp miễn phí.

Cài đặt Google Cloud SDK cũng bao gồm một chương trình dòng lệnh có tên là chương trình dòng lệnh gcloudmà sau này bạn sẽ sử dụng để triển khai ứng dụng web của mình. Sau khi cài đặt xong, bạn có thể xác minh rằng mọi thứ đã hoạt động bằng cách nhập lệnh sau vào bảng điều khiển của bạn:

$ gcloud --version

Bạn sẽ nhận được đầu ra văn bản trong thiết bị đầu cuối của mình trông giống như đầu ra bên dưới:

app-engine-python 1.9.91
bq 2.0.62
cloud-datastore-emulator 2.1.0
core 2020.11.13
gsutil 4.55

Số phiên bản của bạn có thể sẽ khác, nhưng miễn là gcloudchương trình được tìm thấy thành công trên máy tính của bạn, thì quá trình cài đặt của bạn đã thành công.

Với tổng quan cấp cao về các khái niệm và Google Cloud SDK được cài đặt, bạn đã sẵn sàng thiết lập một dự án Python mà sau này bạn sẽ triển khai lên Internet.

Xây dựng một ứng dụng web Python cơ bản

Google App Engine yêu cầu bạn sử dụng khuôn khổ web để tạo ứng dụng web của bạn trong môi trường Python 3. Vì bạn đang cố gắng sử dụng một thiết lập tối thiểu để đưa mã Python cục bộ của mình lên Internet, nên một microframework như Flask là một lựa chọn tốt. Một bản triển khai tối thiểu của Flask nhỏ đến mức bạn thậm chí có thể không nhận thấy rằng mình đang sử dụng một khuôn khổ web.

Lưu ý: Nếu trước đây bạn đã làm việc với Google App Engine trên môi trường Python 2.7, thì bạn sẽ nhận thấy rằng quy trình đã thay đổi đáng kể .

Hai thay đổi đáng chú ý là webapp2 đã bị gỡ bỏ và bạn không còn có thể chỉ định URL cho nội dung động trong app.yamltệp. Lý do cho cả hai thay đổi này là Google App Engine hiện yêu cầu bạn sử dụng khung web Python.

Ứng dụng bạn sẽ tạo sẽ dựa trên một số tệp khác nhau, vì vậy điều đầu tiên bạn cần làm là tạo một thư mục dự án để chứa tất cả các tệp này.

Thiết lập dự án của bạn

Tạo một thư mục dự án và đặt cho nó một cái tên mô tả dự án của bạn. Đối với dự án thực hành này, hãy gọi thư mục hello-app. Bạn sẽ cần ba tệp bên trong thư mục này:

  1. main.py chứa mã Python của bạn được bao bọc trong một triển khai tối thiểu của khuôn khổ web Flask.
  2. requirements.txt liệt kê tất cả các phụ thuộc mà mã của bạn cần để hoạt động bình thường.
  3. app.yaml giúp Google App Engine quyết định cài đặt nào sẽ sử dụng trên máy chủ của nó.

Tiếp theo, bạn sẽ xem nội dung của từng tệp bắt đầu với tệp phức tạp nhất , main.py.

Tạo nên main.py

main.pylà tệp mà Flask sử dụng để cung cấp nội dung của bạn. Ở phía trên cùng của tập tin, bạn nhập các Flasklớp trên dòng 1, sau đó bạn tạo một thể hiện của một ứng dụng Flask trên dòng 3:

from flask import Flask

app = Flask(__name__)

@app.route("/")
def index():
    return "Congratulations, it's a web app!"

Sau khi bạn tạo Flask app, bạn viết một trình trang trí Python trên dòng 5 được gọi là @app.routeFlask sử dụng để kết nối các điểm cuối URL với mã chứa trong các hàm. Đối số để @app.routexác định thành phần đường dẫn của URL, là đường dẫn gốc ( "/") trong trường hợp này.

Mã trên dòng 6 và 7 tạo nên index(), được bao bởi người trang trí. Hàm này xác định những gì sẽ được thực thi nếu điểm cuối URL đã xác định được người dùng yêu cầu. Giá trị trả về của nó xác định những gì người dùng sẽ thấy khi họ tải trang.

Lưu ý: Việc đặt tên của index()chỉ là một quy ước. Nó liên quan đến cách trang chính của một trang web thường được gọi index.html. Bạn có thể chọn một tên chức năng khác nếu bạn muốn.

Nói cách khác, nếu người dùng nhập URL cơ sở của ứng dụng web của bạn vào trình duyệt của họ, thì Flask sẽ chạy index()và người dùng nhìn thấy văn bản trả về. Trong trường hợp này, văn bản đó chỉ là một câu:Congratulations, it's a web app!

Bạn có thể hiển thị nội dung phức tạp hơn và bạn cũng có thể tạo nhiều chức năng để người dùng có thể truy cập các điểm cuối URL khác nhau trong ứng dụng của bạn để nhận các phản hồi khác nhau. Tuy nhiên, đối với việc triển khai ban đầu này, bạn nên gắn bó với thông điệp thành công ngắn và đáng khích lệ này.

Tạo nên requirements.txt

Tệp tiếp theo để xem là requirements.txt. Vì Flask là phần phụ thuộc duy nhất của dự án này, đó là tất cả những gì bạn cần chỉ định:

Flask==1.1.2

Nếu ứng dụng của bạn có các phụ thuộc khác, thì bạn cũng cần thêm chúng vào requirements.txttệp của mình .

Google App Engine sẽ sử dụng requirements.txtđể cài đặt các phụ thuộc Python cần thiết cho dự án của bạn khi thiết lập nó trên máy chủ. Điều này tương tự như những gì bạn sẽ làm sau khi tạo và kích hoạt một môi trường ảo mới cục bộ.

Tạo nên app.yaml

Tệp thứ ba app.yaml, giúp Google App Engine thiết lập môi trường máy chủ phù hợp cho mã của bạn. Tệp này chỉ yêu cầu một dòng, định nghĩa thời gian chạy Python:

runtime: python38

Dòng hiển thị ở trên làm rõ rằng thời gian chạy phù hợp cho mã Python của bạn là Python 3.8. Điều này là đủ để Google App Engine thực hiện thiết lập cần thiết trên các máy chủ của nó.

Lưu ý: Đảm bảo rằng Môi trường thời gian chạy Python 3 bạn muốn sử dụng có sẵn trên Google App Engine.

Bạn có thể sử dụng app.yamltệp của Google App Engine để thiết lập bổ sung, chẳng hạn như thêm các biến môi trường vào ứng dụng của bạn. Bạn cũng có thể sử dụng nó để xác định đường dẫn đến nội dung tĩnh cho ứng dụng của mình, chẳng hạn như hình ảnh, tệp CSS hoặc JavaScript. Hướng dẫn này sẽ không đi sâu vào các cài đặt bổ sung này, nhưng bạn có thể tham khảo tài liệu của Google App Engine về app.yamlTệp cấu hình nếu bạn muốn thêm chức năng đó.

Chín dòng mã này hoàn thành thiết lập cần thiết cho ứng dụng này. Dự án của bạn hiện đã sẵn sàng để triển khai.

Tuy nhiên, bạn nên kiểm tra mã của mình trước khi đưa vào sản xuất để có thể phát hiện ra các lỗi tiềm ẩn. Tiếp theo, bạn sẽ kiểm tra xem mọi thứ có hoạt động cục bộ như mong đợi hay không trước khi triển khai mã của bạn lên Internet.

Kiểm tra cục bộ

Flask được đóng gói với một máy chủ web phát triển. Bạn có thể sử dụng máy chủ phát triển này để kiểm tra lại xem mã của bạn có hoạt động như mong đợi hay không. Để có thể chạy cục bộ máy chủ phát triển Flask, bạn cần hoàn thành hai bước. Google App Engine sẽ thực hiện các bước tương tự trên máy chủ của nó sau khi bạn triển khai mã của mình:

  1. Thiết lập môi trường ảo.
  2. Cài đặt flaskgói.

Để thiết lập môi trường ảo Python 3 , hãy điều hướng đến thư mục dự án trên thiết bị đầu cuối của bạn và nhập lệnh sau:

$ python3 -m venv venv

Điều này sẽ tạo một môi trường ảo mới được đặt tên venvbằng cách sử dụng phiên bản Python 3 mà bạn đã cài đặt trên hệ thống của mình. Tiếp theo, bạn cần kích hoạt môi trường ảo bằng cách tìm nguồn script kích hoạt:

$ source venv/bin/activate

Sau khi thực hiện lệnh này, lời nhắc của bạn sẽ thay đổi để cho biết rằng bạn hiện đang hoạt động từ bên trong môi trường ảo. Sau khi bạn thiết lập và kích hoạt thành công môi trường ảo của mình, bạn đã sẵn sàng cài đặt Flask:

$ python3 -m pip install -r requirements.txt

Lệnh này tìm nạp tất cả các gói được liệt kê trong requirements.txtPyPI và cài đặt chúng trong môi trường ảo của bạn. Trong trường hợp này, gói duy nhất được cài đặt sẽ là Flask.

Chờ cho quá trình cài đặt hoàn tất, sau đó mở lên main.pyvà thêm hai dòng mã sau vào cuối tệp:

if __name__ == "__main__":
    app.run(host="127.0.0.1", port=8080, debug=True)

Hai dòng này yêu cầu Python khởi động máy chủ phát triển của Flask khi tập lệnh được thực thi từ dòng lệnh. Nó sẽ chỉ được sử dụng khi bạn chạy tập lệnh cục bộ. Khi bạn triển khai mã cho Google App Engine, một quy trình máy chủ web chuyên nghiệp, chẳng hạn như Gunicorn , sẽ phân phát ứng dụng thay thế. Bạn sẽ không cần phải thay đổi bất cứ điều gì để biến điều này thành hiện thực.

Bây giờ bạn có thể khởi động máy chủ phát triển của Flask và tương tác với ứng dụng Python trong trình duyệt của mình. Để làm như vậy, bạn cần chạy tập lệnh Python khởi động ứng dụng Flask bằng cách nhập lệnh sau:

$ python3 main.py

Flask khởi động máy chủ phát triển và thiết bị đầu cuối của bạn sẽ hiển thị đầu ra tương tự như văn bản được hiển thị bên dưới:

 * Serving Flask app "main" (lazy loading)
 * Environment: production
 WARNING: This is a development server.
 Do not use it in a production deployment.
 Use a production WSGI server instead.
 * Debug mode: on
 * Running on http://127.0.0.1:8080/ (Press CTRL+C to quit)
 * Restarting with stat
 * Debugger is active!
 * Debugger PIN: 315-059-987

Đầu ra này cho bạn biết ba phần thông tin quan trọng:

  1. WARNING: Đây là máy chủ phát triển của Flask, có nghĩa là bạn không muốn sử dụng nó để phục vụ mã của mình trong quá trình sản xuất. Google App Engine sẽ thay bạn xử lý điều đó.
  2. Running on http://127.0.0.1:8080/: Đây là URL nơi bạn có thể tìm thấy ứng dụng của mình. Đó là URL cho máy chủ cục bộ của bạn, có nghĩa là ứng dụng đang chạy trên máy tính của chính bạn. Điều hướng đến URL đó trong trình duyệt của bạn để xem mã của bạn trực tiếp.
  3. Press CTRL+C to quit: Dòng tương tự cũng cho bạn biết rằng bạn có thể thoát khỏi máy chủ phát triển bằng cách nhấn Ctrl+C trên bàn phím.

Làm theo hướng dẫn và mở tab trình duyệt tại http://127.0.0.1:8080/. Bạn sẽ thấy một trang hiển thị văn bản mà hàm của bạn trả về:Congratulations, it's a web app!

Lưu ý: URL 127.0.0.1còn được gọi là localhost , có nghĩa là nó trỏ đến máy tính của bạn. Số đứng 8080sau dấu hai chấm ( :) được gọi là số cổng . Cổng có thể được coi là một kênh cụ thể, tương tự như phát sóng một kênh truyền hình hoặc đài phát thanh.

Bạn đã xác định các giá trị này app.run()trong main.pytệp của mình . Chạy ứng dụng trên cổng 8080có nghĩa là bạn có thể điều chỉnh số cổng này và nhận thông tin liên lạc từ máy chủ phát triển. Cổng 8080thường được sử dụng để kiểm tra cục bộ, nhưng bạn cũng có thể sử dụng một số khác.

Bạn có thể sử dụng máy chủ phát triển của Flask để kiểm tra bất kỳ thay đổi nào mà bạn thực hiện đối với mã của ứng dụng Python của mình. Máy chủ lắng nghe những thay đổi bạn thực hiện trong mã và sẽ tự động tải lại để hiển thị chúng. Nếu ứng dụng của bạn không hiển thị như bạn mong đợi trên máy chủ phát triển, thì nó cũng sẽ không hoạt động trong sản xuất. Vì vậy, hãy đảm bảo rằng nó trông đẹp mắt trước khi bạn triển khai nó.

Cũng nên nhớ rằng ngay cả khi nó hoạt động tốt cục bộ, nó có thể không hoạt động hoàn toàn giống nhau sau khi được triển khai. Điều này là do có các yếu tố khác liên quan khi bạn triển khai mã của mình cho Google App Engine. Tuy nhiên, đối với một ứng dụng cơ bản, chẳng hạn như ứng dụng bạn đang xây dựng trong hướng dẫn này, bạn có thể tự tin rằng ứng dụng đó sẽ hoạt động trong phiên bản sản xuất nếu hoạt động tốt tại địa phương.

Khóa học PYTHON (IPD2020) cho người mới bắt đầu