Hướng dẫn server-side programming using python - lập trình phía máy chủ bằng python

Python là một trong những ngôn ngữ lập trình tốt nhất để học với các ứng dụng trong phát triển web back-end, học máy và thống kê, mô hình khoa học, hoạt động hệ thống và một số phần mềm dành riêng cho doanh nghiệp. Do cú pháp giống như tiếng Anh, gõ động và nhiều thư viện, nó thường được coi là một trong những ngôn ngữ lập trình dễ tiếp cận hơn.

Bài viết này sẽ khám phá Python cho lập trình phía máy chủ.

Đầu tiên, một cái nhìn nhanh về máy chủ là gì.

Hướng dẫn server-side programming using python - lập trình phía máy chủ bằng python

Nguồn hình ảnh: trang web.nd.edu

Máy chủ là một mô hình máy khách-máy khách trong cơ sở hạ tầng của Internet. Bất cứ khi nào trình duyệt khách truy cập trang web, nó sẽ tạo yêu cầu HTTP cho máy chủ giữ các tệp cần thiết để quản lý trang web. Máy chủ tham gia vào yêu cầu của khách hàng và xử lý nó, trả lời với thông tin cần thiết để trình bày trang web.

Lập trình phía máy chủ được phân loại thành các máy chủ web tĩnh và động. Các tệp hoàn trả trước như chúng là trong khi phần sau giới thiệu cơ sở dữ liệu và máy chủ ứng dụng.

Lưu ý: ‘Tệp không tìm thấy, hoặc 404, mã lỗi máy chủ nổi tiếng đôi khi xảy ra khi duyệt internet, là do máy chủ không thể truy cập một số tệp.

Bắt đầu một máy chủ web trong Python

Khởi chạy một máy chủ web Python chỉ mất vài phút khi nó nhanh chóng và đơn giản. Chỉ cần một dòng mã có máy chủ cục bộ đơn giản nhất chạy trên một hệ thống. Thông qua thử nghiệm cục bộ, hệ thống trở thành máy chủ cho máy khách, đó là trình duyệt. Các tập tin được lưu trữ cục bộ trên hệ thống.

Để tạo một máy chủ web, bạn sẽ cần một mô -đun máy chủ HTTP Python có thể được sử dụng làm máy chủ tệp tĩnh. Đối với một máy chủ web động, bạn sẽ cần một khung Python như Django hoặc Flask.

Mật mã:

python -m http.server

Nhập mã ở trên vào dấu nhắc lệnh hoặc thiết bị đầu cuối của bạn, tùy thuộc vào hệ thống của bạn. Thông báo ‘Máy chủ bắt đầu sẽ xuất hiện. Và ở đó bạn có nó - máy chủ web Python đầu tiên của bạn.

Đây được thừa nhận là một mã đơn giản ít hơn là mở một máy chủ web trên cổng mặc định của hệ thống của bạn là 8000. Cổng có thể được thay đổi bằng cách chỉ định số cổng ở cuối dòng.

python -m http.server 8080

Mã Python:

Hướng dẫn server-side programming using python - lập trình phía máy chủ bằng python

Nguồn hình ảnh: bởi Hacker.io

Máy chủ web động

Các trang web phía máy chủ động cung cấp thông tin tùy chỉnh để đáp ứng các yêu cầu HTTP. Họ hoàn thành nhiều hoạt động như truy xuất dữ liệu từ cơ sở dữ liệu, hiển thị nó trên một trang, xác thực dữ liệu nhập vào người dùng, lưu nó trong cơ sở dữ liệu, v.v ... Django cực kỳ phổ biến là một khung web phía máy chủ động hoàn toàn đặc trưng được viết bằng Python.

Hãy xem xét số lượng sản phẩm có sẵn trong các cửa hàng bán lẻ trực tuyến và số lượng bài đăng được viết trên phương tiện truyền thông xã hội. Hiển thị tất cả những thứ này bằng cách sử dụng các trang tĩnh khác nhau sẽ không hiệu quả. Vì vậy, thay vì hiển thị các mẫu tĩnh (được xây dựng bằng cách sử dụng HTML, CSS và JavaScript), tốt hơn hết là bạn nên cập nhật dữ liệu một cách động được hiển thị bên trong các mẫu đó khi cần thiết, chẳng hạn như khi bạn muốn xem một sản phẩm khác trong cửa hàng bán lẻ.

Tổng quan ngắn gọn về Django

Django là một khung web phía máy chủ Python cấp cao cho phép phát triển nhanh các trang web được bảo vệ và được bảo vệ. Nguồn mở và khung miễn phí loại bỏ phần lớn sự rắc rối của phát triển web. Nó cũng có một cộng đồng hoạt động tài liệu cung cấp nhiều tùy chọn miễn phí.

Các tính năng của Django

- An toàn: Django cung cấp một khung công tác mà các thiết kế để thực hiện đúng thứ để tự động bảo vệ các trang web. Ví dụ: nó cung cấp một cách an toàn để quản lý tài khoản người dùng và mật khẩu. Django provides a framework that’s engineered to ‘do the right things’ to automatically protect websites. For example, it provides a secure way to manage user accounts and passwords.

Django có thể kiểm tra xem mật khẩu đã nhập là chính xác bằng cách chạy nó thông qua hàm băm mật mã và giống với đầu ra với giá trị băm được lưu trữ. Do phương thức này, một giá trị băm được lưu trữ này bị xâm phạm, thì một kẻ tấn công khó có thể tìm ra mật khẩu ban đầu. Như vậy, Django cho phép bảo vệ chống lại nhiều lỗ hổng theo mặc định, bao gồm tiêm SQL, kịch bản chéo trang, giả mạo yêu cầu chéo.

-Versatile và Complete: Django tuân theo ‘pin bao gồm triết lý của người Viking bằng cách cung cấp gần như mọi thứ mà các nhà phát triển cần phải làm mọi thứ. Nó giúp tạo các trang web bao gồm các hệ thống thiết kế quản lý nội dung, wiki đến các mạng đặc biệt và các trang web tin tức. Nó cũng có thể hoạt động trong bất kỳ khung phía máy khách nào và cung cấp nội dung ở hầu hết mọi định dạng, chẳng hạn như HTML, JSON, XML, v.v. Django obeys the ‘batteries included’ philosophy by providing nearly everything that developers need to do things out-of-the-box. It helps create websites that include content management design systems, wikis to special networks, and news sites. It can also work in any client-side framework and delivers content in almost any format, such as HTML, JSON, XML, etc.

-Có thể mở rộng: Django sử dụng một kiến ​​trúc không chia sẻ dựa trên thành phần, điều đó có nghĩa là mỗi phần của kiến ​​trúc độc lập với các phần khác. Điều này cho phép nó được thay thế hoặc thay đổi theo yêu cầu. Việc phân tách rõ ràng cho phép nó được mở rộng để tăng lưu lượng truy cập bằng cách thêm phần cứng ở mọi cấp độ, có thể là máy chủ lưu trữ, máy chủ cơ sở dữ liệu hoặc máy chủ ứng dụng. Django utilizes a component-based ‘shared-nothing’ architecture, which means that each part of the architecture is independent of the others. This allows it to be replaced or changed as required. The clear separation enables it to be scaled for increased traffic by adding hardware at any level, be it caching servers, database servers, or application servers.

- Có thể bảo trì và di động: Mã Django được viết theo cách mà nó có thể tái sử dụng và có thể bảo trì. Nó tuân theo nguyên tắc không lặp lại (khô). Không có sự trùng lặp không cần thiết, làm giảm số lượng mã. Nó thúc đẩy việc nhóm các chức năng liên quan thành các ứng dụng có thể tái sử dụng và ở cấp độ thấp hơn, các nhóm liên quan đến các mô-đun cùng với dòng mô hình của mô hình-view-virller (MVC). Django code is written in such a way that it is reusable and maintainable. It follows the Don't Repeat Yourself (DRY) principle. There is no unnecessary duplication, which reduces the amount of code. It promotes grouping of related functionality into reusable ‘applications’, and at a lower level, groups related code into modules along with the line of the model-view-controller (MVC) pattern.

Vì Django được viết bằng Python và chạy trên nhiều nền tảng, bạn không bị ràng buộc với bất kỳ nền tảng máy chủ cụ thể nào. Bạn có thể chạy các ứng dụng trên nhiều hương vị của Linux, Windows và Mac OS X. Những gì khác, nó được hỗ trợ tốt bởi nhiều nhà cung cấp lưu trữ web thường cung cấp cơ sở hạ tầng và tài liệu cụ thể để lưu trữ các trang web Django.

Quy trình làm việc của Django

Các trang web dựa trên dữ liệu truyền thống quan sát quy trình công việc sau:

  1. Ứng dụng Web chờ yêu cầu HTTP từ trình duyệt web.

  2. Khi yêu cầu nhận được ứng dụng, họ sẽ tìm ra những gì cần thiết dựa trên URL và có thể thông tin trong dữ liệu POST hoặc lấy dữ liệu. Sau đó, tùy thuộc vào các yêu cầu, họ đọc hoặc ghi dữ liệu từ cơ sở dữ liệu hoặc các tác vụ khác cần đáp ứng yêu cầu.

  3. Các ứng dụng trả về một phản hồi cho trình duyệt web dưới dạng các mẫu HTML.

Thuật ngữ phổ biến

- URL: Một bản đồ ánh xạ yêu cầu HTTP từ phía máy khách và chuyển hướng đến chế độ xem phù hợp dựa trên URL yêu cầu. Mapper phù hợp với các mẫu cụ thể của chuỗi và chữ số có trong URL.- Xem: Hoạt động như một hàm xử lý yêu cầu nhận các yêu cầu HTTP và trả về các phản hồi HTTP.- Quản lý (thêm, sửa đổi, xóa) và các bản ghi truy vấn trong cơ sở dữ liệu.- Mẫu: Tệp văn bản xác định cấu trúc hoặc bố cục của tệp (chẳng hạn như trang HTML), với các trình giữ chỗ được sử dụng để biểu diễn nội dung thực tế. Một chế độ xem có thể tự động tạo một trang HTML bằng cách sử dụng mẫu HTML, điền vào nó với dữ liệu từ một mô hình. A mapper that maps the HTTP request from the client-side and redirects to the appropriate view based on the request URL. The mapper matches the particular patterns of strings and digits present in the URL.
- View: Acts as a request handler function that receives HTTP requests and returns HTTP responses.
- Models: Python objects that define the structure of an application's data and provide mechanisms to manage (add, modify, delete) and query records in the database.
- Template: A text file defining the structure or layout of a file (such as an HTML page), with placeholders used to represent actual content. A view can dynamically create an HTML page using an HTML template, populating it with data from a model.

Mã Python để thực hiện quy trình làm việc của Django

Gửi yêu cầu (urls.py)

Thông thường, tệp urls.py được lưu trữ trong bản đồ URL.

url_patterns = [path ("thừa nhận url"), path re_path (r '^([0-9]+)/$', xem.best),]
path("admit url"),
path('turing/int:id/', views.turing_detail, name='turing_detail'),
path('catalogs/', include('catalogs.urls')),
re_path(r'^([0-9]+)/$', views.best),
]

url_potype là một bản đồ xác định danh sách ánh xạ giữa url_potype cụ thể và chức năng xem tương ứng. Nếu URL khớp với một mẫu nhất định, hàm xem liên quan sẽ được gọi và chuyển yêu cầu.

Xử lý yêu cầu (chế độ xem.py)

Quan điểm là trung tâm của ứng dụng web, nhận các yêu cầu HTTP từ các máy khách web và trả lời các phản hồi HTTP.

từ Django.http Nhập HTTPRESS

DEF INDEX_1 (Yêu cầu): # Nhận HTTPREQUEST - Tham số yêu cầu # Thực hiện các hoạt động bằng cách sử dụng thông tin từ yêu cầu. # Trả về httpresponse return httpresponse (Hello hello, chào mừng bạn đến với Turing.com '')
# Get an HttpRequest - the request parameter
# perform operations using information from the request.
# Return HttpResponse
return HttpResponse(“Hello, welcome to turing.com”')

Xác định mô hình dữ liệu (model.py)

Mô hình dữ liệu giúp các ứng dụng web Django xử lý và truy vấn dữ liệu thông qua các đối tượng Python. Các mô hình cung cấp cấu trúc của dữ liệu được lưu trữ, bao gồm các loại trường, kích thước tối đa, giá trị mặc định, tùy chọn danh sách lựa chọn, văn bản cho tài liệu, v.v.

từ các mô hình nhập Django.db

nhóm lớp (model.model): Team_name = model.charfield (max_length = 40)
team_name = models.CharField(max_length=40)

TEAM_LEVELS = (                           
    ('U09', 'Under 09s'),                             
    ('U10', 'Under 10s'),                           
    ('U11', 'Under 11s'),                        
    ... #list other team levels                            
)                               
team_level = models.CharField(max_length=3, choices=TEAM_LEVELS, default='U11')                       

Kết xuất dữ liệu (mẫu HTML)

Các hệ thống mẫu ủy quyền cho bạn xác định cấu trúc của tài liệu đầu ra bằng cách sử dụng trình giữ chỗ cho dữ liệu sẽ được điền vào khi một trang được tạo. Các mẫu thường được sử dụng để tạo HTML nhưng cũng có thể tạo các loại tài liệu khác.

## Tên tệp: Best/Mẫu/Best/Index.html

<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Home page</title> </head> <body> python -m http.server0 python -m http.server1 python -m http.server2 python -m http.server3 python -m http.server4
<html lang="en">
<head>
<meta charset="utf-8">
<title>Home page</title>
</head>
<body>
python -m http.server0
python -m http.server1
python -m http.server2
python -m http.server3
python -m http.server4
python -m http.server5
python -m http.server6
python -m http.server7
python -m http.server8
python -m http.server9
python -m http.server 80800

Nhiều trang web quy mô lớn sử dụng lập trình phía máy chủ để hiển thị dữ liệu một cách linh hoạt bất cứ khi nào cần thiết. Lợi ích lớn nhất của mã phía máy chủ là nó cho phép bạn điều chỉnh nội dung trang web cho nhiều người dùng khác nhau. Nó có quyền truy cập đầy đủ vào hệ điều hành máy chủ và có thể được viết bằng các ngôn ngữ lập trình khác nhau như Python, PHP, Ruby, C#và JavaScript (NodeJS).