Hướng dẫn build a python web application - xây dựng một ứng dụng web python
Xem bây giờ hướng dẫn này có một khóa học video liên quan được tạo bởi nhóm Python thực sự. Xem nó cùng với hướng dẫn bằng văn bản để hiểu sâu hơn về sự hiểu biết của bạn: Triển khai tập lệnh Python của bạn trên web bằng bình This tutorial has a related video course created by the Real Python team. Watch it together with the written tutorial to deepen your understanding: Deploy Your Python Script on the Web With Flask Show
Bạn đã viết một kịch bản Python mà bạn tự hào, và bây giờ bạn muốn thể hiện nó với thế giới. Nhưng bằng cách nào? Hầu hết mọi người đã giành chiến thắng biết phải làm gì với tệp 7 của bạn. Chuyển đổi tập lệnh của bạn thành ứ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 đối tượng rộng.Python web application is a great solution to make your code usable for a broad audience.Trong hướng dẫn này, bạn sẽ học cách đi từ kịch bản Python địa phương đến một ứng dụng web được triển khai đầy đủ mà bạn có thể chia sẻ với thế giới. Đến cuối hướng dẫn này, bạn sẽ biết:
Ngoài việc đi bộ qua một dự án ví dụ, bạn sẽ tìm thấy một số bài tập trong suốt hướng dẫn. Họ sẽ cho bạn một cơ hội để củng cố những gì bạn đang học thông qua thực hành thêm. Bạn cũng có thể tải xuống mã nguồn mà bạn sẽ sử dụng để xây dựng ứng dụng web của mình bằng cách nhấp vào liên kết bên dưới:exercises throughout the tutorial. They’ll give you a chance to solidify what you’re learning through extra practice. You can also download the source code that you’ll use to build your web application by clicking the link below: Chải lên những điều cơ bảnTrong phần này, bạn sẽ nhận được một bước chân lý thuyết trong các chủ đề khác nhau mà bạn sẽ làm việc trong phần thực tế của hướng dẫn này:
Trải lên các chủ đề này có thể giúp bạn cảm thấy tự tin hơn khi viết mã Python cho web. Tuy nhiên, nếu bạn đã quen thuộc với họ, thì hãy bỏ qua phía trước, hãy 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ạnMang mã của bạn cho 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 các chương trình của bạn:distribution. Traditionally, there are three different approaches you can use to distribute your code so that others can work with your programs:
Bạn sẽ xem xét kỹ hơn về từng cách tiếp cận dưới đây. Thư viện PythonNếu bạn đã làm việc với hệ sinh thái gói rộng rãi của Python, thì bạn có thể đã cài đặt các gói Python với 8. 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 8:
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ụ thuộc của nó, trên bất kỳ máy tính người dùng nào của bạn, với điều kiện 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 lệnh 0 tích hợp Python, để tạo phân phối nguồn hoặc bánh xe trăn để tạo phân phối được xây dựng để chia sẻ với người dùng của bạn.Phân phối mã của bạn như thế này giữ cho nó gần với kịch bản gốc mà bạn đã viết và chỉ thêm những gì cần thiết cho người khác để chạy nó. Tuy nhiên, sử dụng phương pháp này cũng có nghĩa là người dùng của bạn sẽ cần chạy mã của bạn với Python. Nhiều người muốn sử dụng tập lệnh của bạn chức năng của bạn, won đã được cài đặt Python hoặc giành được 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ậpCác chương trình máy tính có các hình dạng và hình thức khác nhau, và có nhiều tùy chọn để chuyển đổi 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:
Các chương trình như PyInstaller, PY2App, PY2EXE hoặc cặp 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 rõ ràng trình thông dịch Python. Mặc dù đó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 đều 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 mã Python của bạn có thể truy cập được cho nhiều người hơn bằng cách xây dựng GUI cho nó. Mặc dù chương trình máy tính để bàn GUI độc lập có thể giúp mã của bạn có thể truy cập được với đối tượng rộng hơn, nhưng nó vẫn gây trở ngại cho mọi người để 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 để vượt qua. Họ cần tìm phiên bản phù hợp cho hệ điều hành của họ, tải xuống và cài đặt thành công nó. Một số có thể từ bỏ trước khi họ làm cho nó tất cả các cách. 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à nền tảng của họ độc lập và có thể được điều hành bởi bất kỳ ai có quyền truy cập vào Internet. Mã của chúng được triển khai trên máy chủ back-end, trong đó chương trình xử lý các yêu cầu đến và trả lời thông qua một giao thức được chia sẻ mà Lọ hiểu bởi tất cả các trình duyệt.server, where the program processes incoming requests and responds through a shared protocol that’s understood by all browsers. Python cung cấp năng lượng cho 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 điều khiển Python được lên kế hoạch bắt đầu như các ứng dụng web và được xây dựng bằ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 đầu tiên được mô tả ở trên, bạn sẽ có một góc độ khác. Rốt cuộc, bạn có kế hoạch xây dựng một ứng dụng web. Bạn vừa tạo ra một kịch bản Python hữu ích, và bây giờ bạn muốn chia sẻ với thế giới. Để làm cho nó có thể truy cập được nhiều người dùng, bạn sẽ tái cấu trúc nó thành một ứng dụng web và sau đó triển khai nó vào Internet. Đó là thời gian để xem xét một ứng dụng web là như thế nào và nó khác với nội dung khác trên web. Tìm hiểu về các ứng dụng web PythonTrong lịch sử, 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 phục vụ một trang web tĩnh, một máy chủ web trả lời 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 những hành động khác bạn đã thực hiện.static because their content doesn’t change when you interact with them. When serving a static web page, a web server responds to your request by sending back the content of that page, regardless of who you are or what other actions you took. Bạn có thể duyệt một ví dụ về một trang web tĩnh ở URL đầu tiên từng lên mạng, cũng như các trang mà nó liên kết đến: Lịch sử của wwwCác trang web tĩnh như vậy aren đã xem xét các ứng dụng vì nội dung của chúng được tạo ra một cách động bởi mã. Mặc dù các trang web tĩnh được sử dụng để tạo ra tất cả các internet, hầu hết các trang web ngày nay 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.web applications, which offer dynamic web pages that can change the content they deliver. Chẳng hạn, một ứng dụng webmail cho phép bạn tương tác với nó theo nhiều cách. Tùy thuộc vào hành động của bạn, nó có thể hiển thị các loại thông tin khác nhau, thường là ở trong một trang duy nhất: Một ứng dụng webmail một trangCác ứng dụng web dựa trên Python sử dụng mã Python để xác định những hành động nào sẽ thực hiện và nội dung nào để 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, điều đó có nghĩa là người dùng của bạn không cần phải cài đặt bất cứ 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. use Python code to determine what actions to take and what content to show. Your code is run by the web server that hosts your website, which means that your users don’t need to install anything. All they need to interact with your code is a browser and an Internet connection. Bắt Python chạy trên một trang web có thể phức tạp, nhưng có một số khung web khác nhau tự động chăm sóc các chi tiết. Như đã đề cập ở trên, bạn sẽ xây dựng một ứng dụng bình cơ bản trong hướng dẫn này. Trong phần sắp tới, bạn sẽ nhận được một viễn cảnh cấp cao về các quy trình chính cần phải chạy mã Python của bạn trên máy chủ và cung cấp 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 HTTPPhục vụ nội dung động trên Internet liên quan đến rất nhiều phần khác nhau và tất cả chúng phải liên lạc với nhau để hoạt động chính xác. Tại đây, một tổng quan tổng quát về những gì diễn ra khi người dùng tương tác với ứng dụng web:
Đây là một quá trình chung về cách phân phối nội dung 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 để liên lạc qua các yêu cầu và phản hồi HTTP vẫn giữ nguyên và được gọi là chu kỳ phản hồi yêu cầu HTTP.requests and responses remains the same and is called the HTTP Request-Response Cycle. Để 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ể sống trực tuyến. Lưu trữ mã trực tuyến của bạn để chạy một ứng dụng web được gọi là lưu trữ web và có một số nhà cung cấp cung cấp cả lưu trữ web được trả tiền và miễn phí.web hosting, and there are a number of providers offering both paid and free web hosting. Chọn nhà cung cấp dịch vụ lưu trữ: Công cụ ứng dụng GoogleKhi chọn nhà cung cấp dịch vụ lưu trữ web, bạn cần xác nhận rằng nó 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ẽ gắn bó với một tùy chọn miễn phí mà 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. Có một số tùy chọn miễn phí khác, chẳng hạn như Pythonanywhere, Repress.it hoặc Heroku mà bạn có thể khám phá sau này. Sử dụng Google App Engine sẽ cho bạn một khởi đầu tốt trong việc tìm hiểu về việc triển khai mã Python lên web khi nó đạt được sự cân bằng giữa việc trừu tượng hóa sự 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 nền tảng Google Cloud (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 hướng dẫn bổ sung 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. Cài đặt Google Cloud SDK cũng bao gồm một chương trình dòng lệnh có tên 1, mà sau đó bạn sẽ sử dụng để triển khai ứng dụng web của mình. Khi bạn đã hoàn thành việc cài đặt, 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:Bạn sẽ nhận được một đầu ra văn bản trong thiết bị đầu cuối của bạn trông giống như dưới đây:
Số phiên bản của bạn có thể sẽ khác nhau, nhưng miễn là chương trình 1 được tìm thấy thành công trên máy tính của bạn, việc cài đặt của bạn đã thành công.Với tổng quan cấp cao này về các khái niệm và SDK Google Cloud được cài đặt, bạn đã sẵn sàng thiết lập một dự án Python mà sau đó bạn sẽ triển khai lên Internet. Xây dựng một ứng dụng web Python cơ bảnCông cụ ứng dụng Google yêu cầu bạn sử dụng khung web để tạo ứng dụng web của mình 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 bạn lên internet, một bộ vi tính như Flask là một lựa chọn tốt. Một triển khai tối thiểu của bình nhỏ đến mức bạn thậm chí có thể không nhận thấy rằng bạn đang sử dụng khung web. Ứng dụng mà bạn sẽ tạo sẽ dựa vào 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 để giữ tất cả các tệp này. Thiết lập dự án của bạnTạo một thư mục dự án và đặt cho nó một cái tên mô tả về dự án của bạn. Đối với dự án thực hành này, hãy gọi thư mục 3. Bạn sẽ cần ba tệp bên trong thư mục này:
Mặc dù ba tệp có thể nghe rất nhiều, nhưng bạn sẽ thấy rằng dự án này sử dụng ít hơn mười dòng mã trên cả ba tệp. Điều này thể hiện thiết lập tối thiểu bạn cần cung cấp cho Google App Engine cho bất kỳ dự án Python nào bạn có thể khởi chạy. Phần còn lại sẽ là mã Python của riêng bạn. Bạn có thể tải xuống mã nguồn đầy đủ mà bạn sẽ sử dụng trong hướng dẫn này bằng cách nhấp vào liên kết bên dưới: Tiếp theo, bạn sẽ xem xét nội dung của từng tệp bắt đầu với tệp phức tạp nhất, 4.Tạo $ source venv/bin/activate 4 4 là tệp mà Flask sử dụng để cung cấp nội dung của bạn. Ở đầu tệp, bạn nhập lớp 0 trên dòng 1, sau đó bạn tạo một thể hiện của một ứng dụng bình trên dòng 3:
Sau khi bạn tạo bình 1, bạn viết một trình trang trí python trên dòng 5 có tên 2 mà Flask sử dụng để kết nối các điểm cuối URL với mã có trong các chức năng. Đối số của 2 xác định thành phần đường dẫn URL, đó là đường dẫn gốc ( 4) trong trường hợp này.Mã trên các dòng 6 và 7 tạo nên 5, được bao bọc bởi người trang trí. Hàm này xác định những gì nên được thực thi nếu điểm cuối URL được xác định được yêu cầu bởi người dùng. 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.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 chạy 5 và người dùng thấy văn bản được trả về. Trong trường hợp này, văn bản đó chỉ là một câu: 7Bạ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 hơn một 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, nó rất tốt khi gắn bó với thông điệp thành công ngắn và đáng khích lệ này. Tạo $ source venv/bin/activate 5Tệp tiếp theo để xem là 5. Vì Flask là sự phụ thuộc duy nhất của dự án này, nên tất cả những gì bạn cần chỉ định:Nếu ứng dụng của bạn có các phụ thuộc khác, thì bạn cũng sẽ cần thêm chúng vào tệp 5 của mình.Công cụ ứng dụng Google sẽ sử dụng 5 để 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 tại địa phương.Tạo $ source venv/bin/activate 6Tệp thứ ba, 6, giúp Google App Engine thiết lập đúng môi trường máy chủ cho mã của bạn. Tệp này chỉ yêu cầu một dòng, xác định thời gian chạy Python: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à đủ để Công cụ ứng dụng Google thực hiện thiết lập cần thiết trên các máy chủ của mình. Bạn có thể sử dụng tệp Google App Engine ____ ____ ____36 để 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, CSS hoặc tệp JavaScript. Hướng dẫn này đã giành được 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 trên tệp cấu hình 6 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, đó là cách thực hành tốt để kiểm tra mã của bạn trước khi đưa nó vào sản xuất để bạn có thể nắm bắt các lỗi tiềm năng. Tiếp theo, bạn sẽ kiểm tra xem mọi thứ có hoạt động như mong đợi tại địa phương trước khi triển khai mã của bạn lên Internet hay không. 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 kỹ mã mà mã của bạn hoạt động như mong đợi. Để có thể chạy máy chủ phát triển Flask tại địa phương, bạn cần hoàn thành hai bước. Công cụ ứng dụng Google sẽ thực hiện các bước tương tự trên máy chủ của mình sau khi bạn triển khai mã của mình:
Để thiết lập môi trường ảo Python 3, hãy điều hướng đến thư mục dự án của bạn trên thiết bị đầu cuối của bạn và nhập lệnh sau: Điều này sẽ tạo ra một môi trường ảo mới có tên 7 bằ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 kiếm tập lệnh kích hoạt:
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ừ trong môi trường ảo. Sau khi bạn thiết lập thành công và kích hoạt môi trường ảo của mình, bạn đã sẵn sàng cài đặt bình:
Lệnh này lấy tất cả các gói được liệt kê trong 5 từ PYPI 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à bình.Chờ cài đặt hoàn tất, sau đó mở 4 và thêm hai dòng mã sau ở dưới cùng của tệp:
Hai dòng này bảo Python khởi động máy chủ phát triển Flask Flask khi tập lệnh được thực thi từ dòng lệnh. Nó 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ục vụ ứng dụng thay thế. Bạn đã thắng cần phải thay đổi bất cứ điều gì để thực hiện điều này. Bây giờ bạn có thể khởi động máy chủ phát triển Flask Flask và tương tác với ứng dụng Python của bạn trong trình duyệt của bạn. Để làm như vậy, bạn cần chạy tập lệnh Python khởi động ứng dụng bình bằng cách nhập lệnh sau: Bình 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:
Đầu ra này cho bạn biết ba phần thông tin quan trọng:
Thực hiện theo các hướng dẫn và mở tab Trình duyệt tại 3. Bạn sẽ thấy một trang hiển thị văn bản mà chức năng của bạn trả về: 7Bạn có thể sử dụng máy chủ phát triển Flask Flask để kiểm tra mọi thay đổi mà bạn thực hiện đối với mã của ứng dụng Python của bạn. Máy chủ lắng nghe các 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 kết xuất như bạn mong đợi trên máy chủ phát triển, thì nó cũng đã giành được công việc trong sản xuất. Vì vậy, hãy chắc chắn rằng nó có vẻ tốt trước khi bạn triển khai nó. Ngoài ra, hãy nhớ rằng ngay cả khi nó hoạt động tốt tại địa phương, nó có thể không hoạt động hoàn toàn giống nhau 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 lên Công cụ ứng dụng Google. Tuy nhiên, đối với một ứng dụng cơ bản như ứng dụng mà bạn xây dựng trong hướng dẫn này, bạn có thể tự tin rằng nó sẽ hoạt động trong sản xuất nếu nó hoạt động tốt tại địa phương. Thay đổi giá trị trả về của 5 và xác nhận rằng bạn có thể thấy sự thay đổi được phản ánh trong trình duyệt của bạn. Chơi xung quanh với nó. Điều gì xảy ra khi bạn thay đổi giá trị trả về của 5 thành mã HTML, chẳng hạn như 7, thay vì sử dụng chuỗi văn bản đơn giản?Sau khi kiểm tra thiết lập của bạn và chức năng mã mã trên máy chủ phát triển cục bộ của bạn, bạn đã chuẩn bị triển khai nó với Google App Engine. Triển khai ứng dụng web Python của bạnCuối cùng, thời gian để đưa ứng dụng của bạn lên mạng. Nhưng trước tiên, mã của bạn cần một nơi để sống trên các máy chủ của Google và bạn cần đảm bảo rằng nó sẽ đến đó an toàn. Trong phần này của hướng dẫn, bạn sẽ làm việc để hoàn thành các thiết lập triển khai cần thiết cả trong đám mây và địa phương. Thiết lập trên công cụ ứng dụng GoogleĐọc qua quá trình thiết lập dưới đây từng bước. Bạn có thể so sánh những gì bạn thấy trong trình duyệt của bạn với ảnh chụp màn hình. Tên dự án được sử dụng trong ảnh chụp màn hình ví dụ là 3.Bắt đầu bằng cách đăng nhập vào nền tảng Google Cloud. Điều hướng đến chế độ xem bảng điều khiển, nơi bạn sẽ thấy một thanh công cụ ở đầu cửa sổ. Chọn nút mũi tên hướng xuống về phía bên trái của thanh công cụ. Điều này sẽ xuất hiện một phương thức chứa danh sách các dự án Google của bạn: Phương thức hiển thị một danh sách các dự án của bạn. Danh sách này có thể trống nếu bạn đã tạo ra bất kỳ dự án nào. Ở phía trên bên phải của phương thức đó, hãy tìm nút dự án mới và nhấp vào nó: Nhấp vào dự án mới sẽ chuyển hướng bạn đến một trang mới, nơi bạn có thể quyết định tên cho dự án của mình. Tên này sẽ xuất hiện trong URL của ứng dụng của bạn, sẽ trông tương tự như 9. Sử dụng 3 làm tên cho dự án này để phù hợp với hướng dẫn:Bạn có thể thấy ID dự án của bạn bên dưới trường đầu vào tên dự án. ID dự án bao gồm tên bạn đã nhập và một số mà Google App Engine bổ sung. Trong trường hợp của hướng dẫn này, bạn có thể thấy rằng ID dự án là 1. Sao chép ID dự án cá nhân của bạn vì bạn sẽ cần nó sau này để triển khai.Bây giờ bạn có thể nhấp vào Tạo và chờ dự án được thiết lập ở phía Google App Engine. Khi đã hoàn thành, một thông báo sẽ xuất hiện cho bạn biết rằng một dự án mới đã được tạo ra. Nó cũng cung cấp cho bạn tùy chọn để chọn nó. Hãy tiếp tục và làm điều đó bằng cách nhấp vào Chọn Dự án: Nhấp vào Chọn Dự án sẽ chuyển hướng bạn đến trang chính của dự án nền tảng Google Cloud mới của bạn. Có vẻ như thế này: Từ đây, bạn muốn chuyển sang bảng điều khiển của Google App Engine. Bạn có thể làm điều đó bằng cách nhấp vào menu hamburger ở trên cùng bên trái, cuộn xuống để chọn Công cụ ứng dụng trong danh sách đầu tiên, sau đó chọn bảng điều khiển trên đầu danh sách bật lên tiếp theo: Điều này cuối cùng sẽ chuyển hướng bạn đến chế độ xem bảng điều khiển động cơ Google App về dự án mới của bạn. Vì dự án trống cho đến nay, trang này sẽ trông giống như thế này: Khi bạn thấy trang này, điều đó có nghĩa là bạn đã hoàn thành việc thiết lập một dự án mới trên Google App Engine. Bây giờ bạn đã sẵn sàng quay trở lại thiết bị đầu cuối trên máy tính của bạn và hoàn thành các bước cục bộ cần thiết để triển khai ứng dụng của bạn cho dự án này. Thiết lập địa phương để triển khaiSau khi cài đặt thành công Google Cloud SDK, bạn có quyền truy cập vào giao diện dòng lệnh 1. Chương trình này đi kèm với các hướng dẫn hữu ích hướng dẫn bạn thông qua việc triển khai ứng dụng web của bạn. Bắt đầu bằng cách nhập lệnh được đề xuất cho bạn khi bạn tạo một dự án mới trên trang web của Google App Engine:Như bạn có thể thấy ở góc dưới bên phải của trang, Google App Engine đề xuất lệnh đầu cuối để triển khai mã của bạn cho dự án này. Mở thiết bị đầu cuối của bạn, điều hướng đến thư mục dự án của bạn, sau đó chạy lệnh được đề xuất: Khi bạn thực hiện lệnh này mà không cần thiết lập trước đó, chương trình sẽ trả lời bằng thông báo lỗi:
Bạn nhận được thông báo lỗi này vì bạn có thể triển khai bất kỳ mã nào vào tài khoản công cụ Google ứng dụng của mình trừ khi bạn chứng minh với Google rằng bạn là chủ sở hữu của tài khoản đó. Bạn cần phải xác thực với tài khoản Google App Engine từ máy tính cục bộ của bạn. Ứng dụng dòng lệnh 1 đã cung cấp cho bạn lệnh mà bạn cần chạy. Nhập nó vào thiết bị đầu cuối của bạn:Điều này sẽ bắt đầu quá trình xác thực bằng cách tạo URL xác thực và mở nó trong trình duyệt của bạn. Hoàn thành quy trình bằng cách chọn tài khoản Google của bạn trong cửa sổ trình duyệt và cấp cho Google Cloud SDK các đặc quyền cần thiết. Sau khi bạn làm điều này, bạn có thể quay lại thiết bị đầu cuối của mình, nơi bạn sẽ thấy một số thông tin về quy trình xác thực:
Nếu bạn thấy tin nhắn này, thì xác thực đã thành công. Bạn cũng có thể thấy rằng chương trình dòng lệnh một lần nữa cung cấp cho bạn thông tin hữu ích về bước tiếp theo của bạn. Nó cho bạn biết rằng hiện tại không có bộ dự án nào và bạn có thể đặt một bộ bằng cách chạy 4. Bây giờ bạn sẽ cần ID dự án mà bạn đã lưu ý trước đó.Hãy chắc chắn thay thế 1 bằng ID dự án của riêng bạn khi chạy lệnh được đề xuất:
Thiết bị đầu cuối của bạn sẽ in ra một thông báo phản hồi ngắn mà tài sản dự án đã được cập nhật. Sau khi xác thực thành công và đặt dự án mặc định cho ID dự án của bạn, bạn đã hoàn thành các bước thiết lập cần thiết. Chạy quá trình triển khaiBây giờ bạn đã sẵn sàng để thử lệnh triển khai ban đầu lần thứ hai: Ứng dụng 1 tìm hiểu thông tin xác thực của bạn cũng như thông tin ID dự án từ cấu hình mặc định mà bạn vừa thiết lập và cho phép bạn tiến hành. Tiếp theo, bạn cần chọn một khu vực mà ứng dụng của bạn sẽ được lưu trữ: 0Nhập một trong các số được liệt kê ở phía bên trái và nhấn Enter.Enter. Sau khi bạn nhập một số, CLI sẽ tiếp tục với quy trình thiết lập. Trước khi triển khai mã của bạn lên Công cụ ứng dụng Google, nó sẽ cho bạn thấy tổng quan về việc triển khai sẽ trông như thế nào và yêu cầu bạn xác nhận cuối cùng: 1Sau khi bạn xác nhận thiết lập bằng cách gõ y, việc triển khai của bạn cuối cùng sẽ trên đường đi. Thiết bị đầu cuối của bạn sẽ hiển thị cho bạn thêm một số thông tin và một hoạt hình tải nhỏ trong khi Google App Engine thiết lập dự án của bạn trên máy chủ của nó:Y, your deployment will finally be on its way. Your terminal will show you some more information and a small loading animation while Google App Engine sets up your project on its servers: 2Vì đây là lần triển khai đầu tiên của ứng dụng web của bạn, nên có thể mất vài phút để hoàn thành. Sau khi triển khai kết thúc, bạn sẽ thấy một đầu ra hữu ích khác trong bảng điều khiển. Nó trông giống như cái dưới đây: 3Bây giờ bạn có thể điều hướng đến URL đã đề cập trong trình duyệt của mình hoặc nhập lệnh được đề xuất 7 để truy cập ứng dụng web trực tiếp của bạn. Bạn sẽ thấy phản hồi văn bản ngắn giống như bạn đã thấy trước đó khi chạy ứng dụng trên localhost của bạn: 7Lưu ý rằng trang web này có một URL mà bạn có thể chia sẻ với người khác và họ sẽ có thể truy cập nó. Bây giờ bạn có một ứng dụng web Python trực tiếp! Thay đổi giá trị trả về của 5 một lần nữa và triển khai ứng dụng của bạn lần thứ hai bằng lệnh 0. Xác nhận rằng bạn có thể thấy sự thay đổi được phản ánh trên trang web trực tiếp trong trình duyệt của bạn.Với điều này, bạn đã hoàn thành các bước cần thiết để đưa mã Python cục bộ của mình lên web. Tuy nhiên, chức năng duy nhất mà bạn đã đặt trực tuyến cho đến nay là in ra một chuỗi văn bản. Thời gian để đẩy nó lên! Theo quy trình tương tự, bạn sẽ mang lại chức năng thú vị hơn trực tuyến trong phần tiếp theo. Bạn sẽ tái cấu trúc mã của tập lệnh chuyển đổi nhiệt độ cục bộ thành một ứng dụng web Flask. Chuyển đổi tập lệnh thành ứng dụng webVì hướng dẫn này là về việc tạo và triển khai các ứng dụng web Python từ mã bạn đã có, mã Python cho tập lệnh chuyển đổi nhiệt độ được cung cấp cho bạn tại đây: 4Đây là một kịch bản ngắn cho phép người dùng chuyển đổi nhiệt độ Celsius thành nhiệt độ Fahrenheit tương đương. Lưu mã dưới dạng tập lệnh Python và cung cấp cho nó một vòng quay. Hãy chắc chắn rằng nó hoạt động như mong đợi và bạn hiểu những gì nó làm. Hãy thoải mái cải thiện mã. Với tập lệnh hoạt động này trong tay, bây giờ bạn sẽ cần thay đổi mã để tích hợp nó vào ứng dụng bình của bạn. Có hai điểm chính cần xem xét để làm điều đó:
Bạn đã học cách nói với Flask để thực thi một đoạn mã cụ thể bằng cách thêm mã vào một hàm mà bạn chỉ định một tuyến đường. Bắt đầu bằng cách giải quyết nhiệm vụ này đầu tiên. Thêm mã làm hàmBình phân tách các nhiệm vụ khác nhau thành các chức năng khác nhau được chỉ định một tuyến đường thông qua trình trang trí 2. Khi người dùng truy cập tuyến đường được chỉ định thông qua URL của nó, mã bên trong hàm tương ứng sẽ được thực thi.Bắt đầu bằng cách thêm 2 vào tệp 4 của bạn và gói nó với trình trang trí 2: 5Cho đến nay, bạn chỉ sao chép mã tập lệnh Python của mình vào một chức năng trong ứng dụng bình của bạn và thêm trình trang trí 2.Tuy nhiên, đã có một vấn đề với thiết lập này. Điều gì xảy ra khi bạn chạy mã trong máy chủ phát triển của bạn? Hãy thử một lần. Hiện tại, cả hai chức năng của bạn đều được kích hoạt bởi cùng một tuyến ( 4). Khi người dùng truy cập tuyến đó, bình chọn hàm đầu tiên phù hợp với nó và thực thi mã đó. Trong trường hợp của bạn, điều này có nghĩa là 2 không bao giờ được thực thi vì 5 phù hợp với cùng một tuyến và được gọi là đầu tiên.Chức năng thứ hai của bạn sẽ cần con đường độc đáo của riêng mình để có thể truy cập được. Ngoài ra, bạn vẫn cần cho phép người dùng của bạn cung cấp đầu vào cho chức năng của bạn. Truyền các giá trị cho mã của bạnBạn có thể giải quyết cả hai tác vụ này bằng cách nói với bình xử lý bất kỳ phần nào còn lại của URL theo URL cơ sở dưới dạng giá trị và chuyển nó cho chức năng của bạn. Điều này chỉ đòi hỏi một thay đổi nhỏ đối với tham số của bộ trang trí 2 trước 2: 6Cú pháp khung góc ( 1) cho bình biết việc ghi lại bất kỳ văn bản nào theo URL cơ sở ( 4) và chuyển nó cho chức năng mà trình trang trí kết thúc dưới dạng biến 3. Lưu ý rằng 2 yêu cầu 3 làm đầu vào.Quay trở lại trình duyệt web của bạn và thử chức năng mới bằng máy chủ phát triển Flask Flask. Bây giờ bạn có thể truy cập cả hai chức năng của mình thông qua ứng dụng web của mình bằng các điểm cuối URL khác nhau:
Chơi xung quanh với nó thêm một số và thử nhập các đầu vào khác nhau. Ngay cả việc xử lý lỗi từ tập lệnh của bạn vẫn hoạt động và hiển thị thông báo khi người dùng nhập vào đầu vào không phải là người. Ứng dụng web của bạn xử lý chức năng tương tự như tập lệnh Python của bạn đã làm cục bộ, chỉ bây giờ bạn mới có thể triển khai nó lên Internet. Tái cấu trúc mã của bạnFlask là một khung web trưởng thành cho phép bạn giao rất nhiều nhiệm vụ cho nội bộ của nó. Ví dụ: bạn có thể để Flask chăm sóc loại kiểm tra đầu vào cho chức năng của mình và trả về thông báo lỗi nếu nó không phù hợp. Tất cả điều này có thể được thực hiện với một cú pháp ngắn gọn bên trong tham số thành 2. Thêm phần sau vào người bị bắt đường dẫn của bạn:type checking the input to your function and returning an error message if it doesn’t fit. All this can be done with a concise syntax inside of the parameter to 2. Add the following to your path capturer: 7Thêm 9 trước khi tên biến cho Bình kiểm tra xem đầu vào có nhận được từ URL có thể được chuyển đổi thành số nguyên hay không. Nếu nó có thể, thì nội dung được chuyển sang 2. Nếu nó có thể, thì bình sẽ hiển thị trang lỗi 01.Sau khi áp dụng kiểm tra loại Flask Flask, giờ đây bạn có thể loại bỏ khối 02 ____ ____103 trong 2. Chỉ các số nguyên mới từng được truyền vào chức năng bằng bình: 8Với điều này, bạn đã hoàn thành việc chuyển đổi tập lệnh chuyển đổi nhiệt độ của mình thành một ứng dụng web. Xác nhận rằng mọi thứ hoạt động như mong đợi tại địa phương, sau đó triển khai ứng dụng của bạn một lần nữa với Google App Engine. Tái cấu trúc 5. Nó sẽ trả về văn bản giải thích cách sử dụng ứng dụng web chuyển đổi nhiệt độ. Hãy nhớ rằng bạn có thể sử dụng thẻ HTML trong chuỗi trả về. HTML sẽ hiển thị đúng trên trang đích của bạn.Sau khi triển khai thành công ứng dụng web chuyển đổi nhiệt độ của bạn sang Internet, giờ đây bạn có một liên kết mà bạn có thể chia sẻ với người khác và cho phép họ chuyển đổi nhiệt độ Celsius sang nhiệt độ Fahrenheit. Tuy nhiên, giao diện vẫn trông khá cơ bản và ứng dụng web hoạt động giống API hơn là ứng dụng web Front-end. Nhiều người dùng có thể không biết cách tương tác với ứng dụng web Python của bạn ở trạng thái hiện tại. Điều này cho bạn thấy những hạn chế của việc sử dụng Python thuần túy để phát triển web. Nếu bạn muốn tạo các giao diện trực quan hơn, thì bạn sẽ cần bắt đầu sử dụng ít nhất một chút HTML. Trong phần tiếp theo, bạn sẽ tiếp tục lặp lại mã của mình và sử dụng HTML để tạo một hộp đầu vào cho phép người dùng nhập một số trực tiếp trên trang thay vì thông qua URL.input box that allows users to enter a number directly on the page rather than through the URL. Cải thiện giao diện người dùng của ứng dụng web của bạnTrong phần này, bạn sẽ học cách thêm phần tử nhập HTML 06 vào ứng dụng web của bạn để cho phép người dùng tương tác với nó một cách đơn giản mà họ đã sử dụng từ các ứng dụng trực tuyến khác.Để cải thiện giao diện người dùng và trải nghiệm người dùng ứng dụng web của bạn, bạn sẽ cần phải làm việc với các ngôn ngữ khác ngoài Python, cụ thể là các ngôn ngữ phía trước như HTML, CSS và JavaScript. Hướng dẫn này tránh đi vào những điều này càng nhiều càng tốt, để duy trì tập trung vào việc sử dụng Python. Tuy nhiên, nếu bạn muốn thêm một hộp đầu vào vào ứng dụng web của mình, thì bạn sẽ cần sử dụng một số HTML. Bạn chỉ triển khai mức tối thiểu tuyệt đối để có được ứng dụng web của bạn trông và cảm thấy giống như một trang web mà người dùng sẽ quen thuộc. Bạn sẽ sử dụng phần tử HTML 06 để thu thập đầu vào của họ.Sau khi cập nhật ứng dụng web của bạn, bạn sẽ có một trường văn bản nơi người dùng có thể nhập nhiệt độ tính theo độ C. Sẽ có một nút chuyển đổi để chuyển đổi nhiệt độ Celsius do người dùng cung cấp thành độ Fahrenheit:
Kết quả đã chuyển đổi sẽ được hiển thị trên dòng tiếp theo và sẽ được cập nhật bất cứ khi nào người dùng nhấp vào Chuyển đổi. Bạn cũng sẽ thay đổi chức năng của ứng dụng để cả biểu mẫu và kết quả chuyển đổi được hiển thị trên cùng một trang. Bạn sẽ tái cấu trúc mã để bạn chỉ cần một điểm cuối URL. Thu thập đầu vào của người dùngBắt đầu bằng cách tạo phần tử 06 trên trang đích của bạn. Sao chép một vài dòng HTML sau vào câu lệnh trả về của 5, thay thế tin nhắn văn bản từ trước: 9Khi bạn tải lại trang của mình tại URL cơ sở, bạn sẽ thấy một hộp đầu vào và một nút. HTML hiển thị chính xác. Xin chúc mừng, bạn vừa tạo một biểu mẫu đầu vào! Điều gì xảy ra khi bạn nhập giá trị và sau đó nhấp vào Chuyển đổi? Mặc dù trang trông giống nhau, bạn có thể nhận thấy rằng URL đã thay đổi. Bây giờ nó hiển thị một tham số truy vấn có giá trị sau URL cơ sở.query parameter with a value after the base URL. Ví dụ: nếu bạn đã nhập 10 vào hộp văn bản và nhấp vào nút, thì URL của bạn sẽ trông như thế này: 11. Đây là tin tốt! Giá trị đã được ghi lại thành công và được thêm vào dưới dạng tham số truy vấn vào yêu cầu HTTP nhận được. Nhìn thấy URL này có nghĩa là bạn một lần nữa yêu cầu URL cơ sở, nhưng lần này với một số giá trị bổ sung mà bạn đã gửi cùng.Tuy nhiên, không có gì hiện tại xảy ra với giá trị bổ sung đó. Mặc dù biểu mẫu được thiết lập như vậy, nhưng nó chưa được kết nối chính xác với chức năng mã của ứng dụng web Python của bạn. Để hiểu cách tạo kết nối đó, bạn sẽ đọc về từng phần của phần tử 06 để xem tất cả các phần khác nhau là gì. Bạn sẽ xem xét ba yếu tố sau và các thuộc tính của chúng một cách riêng biệt:
Mỗi trong số này là các yếu tố HTML riêng biệt. Mặc dù hướng dẫn này nhằm mục đích tập trung vào Python chứ không phải HTML, nhưng nó vẫn hữu ích để có một sự hiểu biết cơ bản về những gì diễn ra trong khối mã HTML này. Bắt đầu bằng cách nhìn vào phần tử HTML ngoài cùng. Phần tử app-engine-python 1.9.91
bq 2.0.62
cloud-datastore-emulator 2.1.0
core 2020.11.13
gsutil 4.55
|