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ụngMột người dùng tải lên tệp Excel có tên “ab” như sau
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
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
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
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
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
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
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
ứ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
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ả đó
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
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
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
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.