Máy chủ api Python http

Nếu bạn đến từ giao diện người dùng, bạn có thể đã quen với việc sử dụng JavaScript. Điều này có nghĩa là bạn có thể đang tìm kiếm một giải pháp thay thế cho Python, trong trường hợp đó, bạn có thể muốn xem NodeJS

Nút. js

Nút. js® là thời gian chạy JavaScript được xây dựng trên công cụ JavaScript V8 của Chrome

nodejs. tổ chức

và cũng xem bài viết của tôi tương tự như bài viết này nhưng tập trung vào NodeJS

Xây dựng API REST đơn giản với NodeJS và Express

Bạn đã từng làm việc trên các công nghệ front-end và cảm thấy như mình đang bỏ lỡ điều gì đó trong toàn bộ…

vừa phải. com

Phần còn lại của bài viết sẽ được đề cập trong Python

Để thiết lập máy chủ Python, bạn cần cài đặt Python, tôi sẽ đề xuất bất kỳ phiên bản nào trên 3. 7 tính đến năm 2019

Tải xuống Python

Ngôi nhà chính thức của Ngôn ngữ lập trình Python

www. con trăn. tổ chức

Sau khi cài đặt, hãy mở terminal hoặc cmd của bạn để cài đặt bình

> pip install Flask
// or
> py -m pip install Flask

Sau khi cài đặt bình, chúng tôi sẽ cần thiết lập một môi trường ảo để chạy ứng dụng của mình

Thiết lập môi trường ảo

Chúng tôi sẽ bắt đầu bằng cách tạo một thư mục và thêm một thư mục

./code/sandbox/venv/Scripts/> activate
8 trong

> md sandbox
> cd sandbox
> py -m venv venv

Để kích hoạt môi trường, hãy điều hướng đến

./code/sandbox/venv/Scripts/> activate
9 và trên Linux
> md sandbox
> cd sandbox
> py -m venv venv
0. Trên cửa sổ, sử dụng cmd

./code/sandbox/venv/Scripts/> activate

Điều hướng quay lại

> md sandbox
> cd sandbox
> py -m venv venv
0 là root và tạo tệp
> md sandbox
> cd sandbox
> py -m venv venv
1

Tạo một ứng dụng Flask tối thiểu

Ở đây, chúng ta nhập lớp Flask và tạo một thể hiện của nó. Để tạo một phiên bản, chúng tôi phải đặt tên cho nó và sử dụng

> md sandbox
> cd sandbox
> py -m venv venv
2 để đảm bảo rằng nó có thể được bắt đầu dưới dạng ứng dụng hoặc được nhập dưới dạng mô-đun. Chúng tôi sử dụng trình trang trí
> md sandbox
> cd sandbox
> py -m venv venv
3 để cho ứng dụng bình của chúng tôi biết URL nào sẽ kích hoạt phương thức tương ứng. Sau đó, hàm này chỉ trả về một thông báo chuỗi bằng cách sử dụng các URL khác nhau trong ví dụ

Để chạy ứng dụng, trước tiên chúng ta phải hoàn thành một số thứ. Trước tiên, hãy đặt môi trường thành phát triển và báo cho thiết bị đầu cuối của bạn biết ứng dụng sẽ hoạt động bằng cách xuất biến môi trường

> md sandbox
> cd sandbox
> py -m venv venv
4 trong Linux

________số 8

và cửa sổ

> set FLASK_ENV=development
> set FLASK_APP=app.py

Chạy bằng cách sử dụng

> md sandbox
> cd sandbox
> py -m venv venv
0

Theo mặc định, cổng là

> md sandbox
> cd sandbox
> py -m venv venv
5

Bạn đã tạo thành công máy chủ Python đầu tiên của mình bằng Flask. Nó khá cơ bản và trả về các phản hồi chuỗi, hãy thêm gia vị một chút bằng cách tìm hiểu thêm một số điều chúng ta có thể làm

Lộ trình

Các tuyến được coi là điểm cuối, bạn có thể tạo các tuyến khác nhau cho các điểm cuối của mình bằng các phương thức khác nhau

Chúng tôi sử dụng trình trang trí

> md sandbox
> cd sandbox
> py -m venv venv
3 để liên kết một hàm với một URL. Dưới đây là một số tuyến đường với các chi tiết trong các ý kiến

Theo mặc định, một tuyến đường chỉ trả lời các yêu cầu của

> md sandbox
> cd sandbox
> py -m venv venv
7. Bạn sẽ phải nhập
> md sandbox
> cd sandbox
> py -m venv venv
8 từ bình để xác định loại phương pháp được sử dụng

Mẫu kết xuất

Khi sử dụng chuyển phát nhanh. js, Pug là công cụ mẫu mặc định. Chà, trong Flask, chúng tôi sử dụng Jinja2. Flask tự động định cấu hình Jinja2 khi cài đặt và để hiển thị các mẫu, tất cả những gì bạn cần là nhập

> md sandbox
> cd sandbox
> py -m venv venv
9 từ bình và các biến bạn muốn chuyển đến công cụ mẫu dưới dạng đối số từ khóa

Bạn có thể tìm hiểu thêm về Jinja2 tại đây

Chào mừng. Jinja2 [Công cụ mẫu Python]

Jinja2 là một trong những công cụ mẫu được sử dụng nhiều nhất cho Python. Nó được lấy cảm hứng từ hệ thống tạo khuôn mẫu của Django nhưng mở rộng nó…

jinja. pocoo. tổ chức

Truy cập dữ liệu yêu cầu

Bạn có thể muốn truyền dữ liệu qua phương thức

./code/sandbox/venv/Scripts/> activate
0 an toàn hơn thay vì để lộ dữ liệu qua URL. Để truy cập dữ liệu biểu mẫu [được truyền qua phương thức
./code/sandbox/venv/Scripts/> activate
0 hoặc
./code/sandbox/venv/Scripts/> activate
2], bạn có thể sử dụng thuộc tính biểu mẫu

Nếu khóa

./code/sandbox/venv/Scripts/> activate
3 hoặc
./code/sandbox/venv/Scripts/> activate
4 không tồn tại, thì một
./code/sandbox/venv/Scripts/> activate
5 đặc biệt sẽ được nâng lên. Bạn có thể bắt nó giống như bất kỳ lỗi nào khác nhưng nếu bạn không làm như vậy, trang lỗi HTTP 400 [Yêu cầu không hợp lệ] sẽ hiển thị. Để truy cập các tham số được gửi trong URL [
./code/sandbox/venv/Scripts/> activate
6 ], bạn có thể sử dụng thuộc tính args

./code/sandbox/venv/Scripts/> activate
3

Bạn nên nắm bắt

./code/sandbox/venv/Scripts/> activate
5 khi sử dụng tham số URL vì một số người dùng có thể thay đổi URL và có thể trả về trang lỗi Yêu cầu không hợp lệ

Tải lên tệp

Python là một ngôn ngữ rất đơn giản, nó thậm chí còn đơn giản hơn khi sử dụng Flask để tải lên hình ảnh, tệp hoặc video. Flask cho phép bạn tải lên các tệp từ một đối tượng biểu mẫu, chỉ cần đảm bảo rằng bạn đã đặt thuộc tính

./code/sandbox/venv/Scripts/> activate
8 trên biểu mẫu của mình

Mặc dù các tệp đã tải lên được lưu trữ tạm thời trong bộ nhớ hoặc tại một vị trí tạm thời trong hệ thống tệp, bạn có thể sử dụng phương pháp

./code/sandbox/venv/Scripts/> activate
9 để lưu trữ tệp trong hệ thống tệp máy chủ. Khi tạo máy chủ, bạn không nên lưu trữ tệp trên máy chủ, mà nên lưu trữ tệp vào một dịch vụ như AWS Storage, Firebase [của Google], Azure [Microsoft], Dropbox và các dịch vụ khác và chỉ lưu trữ url của các tệp này . Tuy nhiên, đây là cách bạn có thể lưu tệp trên máy chủ trong trường hợp bạn chỉ muốn

Bạn có thể truy cập tệp của mình bằng tên máy chủ của máy chủ cộng với thư mục tệp i. e

$ export FLASK_ENV=development
$ export FLASK_APP=app.py
0 sau khi lưu vào hệ thống tập tin

Sự kết luận

Khá dễ dàng để xây dựng API với Flask. Bạn có thể trả lời bằng JSON bằng cách tuần tự hóa giá trị thành JSON và trả về. Sử dụng mô-đun json đi kèm với python để tuần tự hóa dữ liệu của bạn thành JSON. Bạn có thể kết nối với MongoDB và lưu trữ các giá trị bằng pymongo phổ biến hoặc kết nối với bất kỳ cơ sở dữ liệu nào khác. SQLite3 xuất hiện theo mặc định trong Python. Không nên sử dụng cơ sở dữ liệu SQLite, tuy nhiên khi ứng dụng của bạn mở rộng quy mô, nó không đủ mạnh để xử lý nhiều dữ liệu

Nếu bạn quan tâm hơn đến việc tìm hiểu cách kết nối với cơ sở dữ liệu và lưu trữ dữ liệu hoặc tải tệp lên các dịch vụ lưu trữ, bạn có thể muốn theo dõi tôi 😄. Hy vọng rằng giờ đây bạn có thể thiết lập API REST tùy chỉnh của riêng mình bằng Flask. Cảm ơn bạn đã xem qua bài viết này, đừng quên để lại vài cái vỗ tay nếu bạn thích nó 😉

Chủ Đề