Heroku chạy tập lệnh python

Bài đăng này hướng dẫn bạn cách thiết lập một ứng dụng Python đơn giản, nơi một người có thể tải dữ liệu lên, kích hoạt tập lệnh để đọc và xử lý dữ liệu đã tải lên, đồng thời tải xuống kết quả cuối cùng. Điều này có thể đóng vai trò là điểm khởi đầu cho các trường hợp sử dụng phức tạp hơn. Chúng tôi sẽ sử dụng Flask làm khung và Heroku làm nền tảng triển khai

Mô tả ngắn về ứng dụng

Một người dùng tải lên tệp Excel có tên “ab” như sau

Tệp đầu vào Excel

Sau khi tải lên, ứng dụng sẽ tính tổng của a và b và in kết quả trên trang web

Đầu ra trang web

Người dùng cũng có thể tải xuống kết quả dưới dạng tệp Excel có tên là “c”, có dạng như sau

Tệp đầu ra Excel

Do đó, chúng tôi có một ứng dụng có thể đọc dữ liệu do người dùng cung cấp, thực hiện một số tính toán ở mặt sau và xuất kết quả theo cách có thể tải xuống. Bạn có thể tự kiểm tra ứng dụng này tại đây và truy cập cơ sở mã trên GitHub của tôi

Hướng dẫn từng bướcBước 1 - Bố cục dự án

Thư mục gốc có tên “a-simple-python-app” bao gồm tất cả các tệp cần thiết cho ứng dụng của chúng ta. Bên trong thư mục gốc, chúng tôi có

ứng dụng. py. ra lệnh định tuyến URL

test_function. py. tập lệnh chúng tôi muốn chạy sau khi người dùng tải dữ liệu đầu vào lên

yêu cầu. txt. liệt kê tất cả các gói cần thiết và số phiên bản của chúng

ứng dụng. yml. chỉ định Python và phiên bản của nó làm thời gian chạy của chúng tôi

hồ sơ. chỉ định các lệnh được ứng dụng thực thi khi khởi động [cần thiết nếu sử dụng Heroku]

các tập tin. một thư mục con chứa cả tệp Excel đã tải lên và có thể tải xuống trực tiếp

mẫu. một thư mục con cho các tệp HTML

tĩnh. một thư mục con cho các tập tin hình ảnh

Dưới đây là mặt bằng chi tiết dự án

Bố cục dự ánBước 2 - Viết tập lệnh Python bạn muốn chạy

Mục đích của bài đăng này là chỉ ra cách một người có thể đọc dữ liệu do người dùng cung cấp, kích hoạt tập lệnh Python và xuất kết quả được tính toán. Do đó, chúng tôi sử dụng một kịch bản rất đơn giản ở đây. Nó có một chức năng tùy chỉnh có tên là kiểm tra. Chức năng kiểm tra đọc ab. xlsx, cộng hai giá trị lên và đưa ra tổng trong c. tập tin xlsx. Bạn cũng có thể truy cập tập lệnh tại đây

Tập lệnh kiểm tra PythonBước 3 - Tạo tệp HTML và ứng dụng. tập tin py

Chúng tôi bắt đầu với tệp HTML trang chủ của mình có tên là chỉ mục. Đầu tiên, nó cung cấp một bộ hướng dẫn [được hỗ trợ bởi ảnh chụp màn hình] về cách chuẩn bị tệp Excel đầu vào. Thứ hai, nó sử dụng một biểu mẫu để thu thập tệp đầu vào từ người dùng. Cuối cùng, nó sử dụng Jinja để hiển thị các thông báo phản hồi đơn giản khi người dùng tải lên tệp đầu vào không chính xác

chỉ mục HTML

Tải về. Tệp html hiển thị đầu vào và tổng được tính trên trang web, cũng như cung cấp cho người dùng tùy chọn tải xuống kết quả trong tệp Excel

tải xuống HTML

ứng dụng. tập tin py ra lệnh định tuyến. Trình trang trí route[] liên kết hàm upload_file với URL trang chủ. Khi người dùng gửi tệp đầu vào chính xác, nó sẽ gọi hàm download_file được liên kết với URL của trang tải xuống

ứng dụng Python phần 1. Định tuyến trang chủ

Hàm download_file gọi tập lệnh test_function Python và sau đó in kết quả trên trang cũng như cung cấp cho người dùng tùy chọn để tải xuống kết quả đó

ứng dụng Python phần 2. Định tuyến trang tải xuốngBước 4 - Tạo các tệp khác

Tạo tệp YML để chỉ định Python làm môi trường thời gian chạy cũng như phiên bản Python bạn đang sử dụng

tệp YML

Một cách đơn giản để tạo tệp yêu cầu là tạo môi trường ảo mới, pip cài đặt tất cả các gói cần thiết và sử dụng pip freeze để tạo yêu cầu. Đây là một cách tốt để viết blog về điều này

tập tin yêu cầu

Heroku yêu cầu tệp Procfile để triển khai. Vui lòng xem trang web của họ để biết chi tiết và các cách sử dụng nâng cao hơn

ProcfileBước 5 - Thiết lập Heroku và triển khai ứng dụng

Chúng tôi sử dụng Git để triển khai. Đầu tiên, hãy cài đặt Git nếu bạn chưa cài đặt. Sau đó, yêu cầu Git. Sau khi cài đặt cả hai, hãy đăng nhập Heroku và làm theo hướng dẫn trên trang web của nó để triển khai ứng dụng.  

Chủ Đề