Hướng dẫn get form data in python - lấy dữ liệu biểu mẫu trong python

Đây là chức năng JS của tôi cho biểu mẫu AJAX Gửi:

$('.sendButton').on('click', function(){
    $.post( "/send-form", $('#contactForm').serialize())
}

Đây là hình thức của tôi:

send

Và đây là chức năng phụ trợ của tôi để xử lý nó, tôi đang sử dụng python, bình

@app.route("/send-form", methods=['POST'])
def send_form():
    data = request.data   
    print request.data

Và trong bảng điều khiển của tôi, nó in dữ liệu:

127.0.0.1 - - [22/Feb/2015 23:50:54] "POST /send-form HTTP/1.1" 200 - name=dfdsf&phone=89920203725

Nhưng tôi đã làm như vậy trong một dự án khác và nó không in gì. Thông tin chi tiết ở đây: Không thể nhận được bài đăng dữ liệu AJAX Python Làm thế nào có thể điều này?

Python yêu cầu đăng dữ liệu biểu mẫu với các ví dụ mã

Trong phiên này, chúng tôi sẽ cố gắng giải câu đố dữ liệu Python Requests Post Form bằng cách sử dụng ngôn ngữ máy tính. Mã theo sau phục vụ như một minh họa của điểm này.

import requests
formdata = "data"
url = 'https://example.com'
website = requests.post(url, data=formdata)
output = website.text

Chúng tôi đã chứng minh, với rất nhiều ví dụ minh họa, làm thế nào để giải quyết vấn đề Python yêu cầu bài đăng.

Làm thế nào để bạn truyền dữ liệu biểu mẫu trong bài đăng yêu cầu?

Để đăng dữ liệu biểu mẫu HTML lên máy chủ ở định dạng được mã hóa URL, bạn cần thực hiện yêu cầu POST HTTP cho máy chủ và cung cấp dữ liệu biểu mẫu HTML trong phần thân của thông báo bài đăng. Bạn cũng cần chỉ định kiểu dữ liệu bằng cách sử dụng tiêu đề yêu cầu loại nội dung: Ứng dụng/X-www-form-urlencoded.15-SEPT-2022

Làm thế nào để bạn gửi dữ liệu trong một yêu cầu Python Post?

Phương thức Post () gửi một yêu cầu POST đến URL được chỉ định. Phương thức Post () được sử dụng khi bạn muốn gửi một số dữ liệu đến máy chủ.

Làm cách nào để nhận dữ liệu biểu mẫu trong Python?

  • request.form.get (Hồi fname trực tuyến) sẽ nhận đầu vào từ giá trị đầu vào có thuộc tính tên là fname và lưu trữ trong biến First_name.
  • request.form.get (trên mạng lname) sẽ nhận đầu vào từ giá trị đầu vào có thuộc tính tên là lname và lưu trữ trong biến last_name.

Làm thế nào để bạn gửi dữ liệu biểu mẫu nhiều phần bằng các yêu cầu Python?

Bạn cần sử dụng tham số Tệp để gửi yêu cầu bài đăng biểu mẫu đa

  • 2-Tuple (FileName, FileObj)
  • 3-Tuple (FileName, FileObj, Content_Type)
  • 4-Tuple (FileName, FileObj, Content_Type, Custom_headers).

Bạn có thể đăng dữ liệu với một yêu cầu nhận được không?

Tôi có thể gửi dữ liệu bằng phương thức HTTP GET không? Không, HTTP nhận được yêu cầu không thể có thân thông báo. Nhưng bạn vẫn có thể gửi dữ liệu đến máy chủ bằng các tham số URL. Trong trường hợp này, bạn bị giới hạn ở kích thước tối đa của URL, có khoảng 2000 ký tự (phụ thuộc vào trình duyệt) .15-SEPT-2022

Có thể nhận được yêu cầu có dữ liệu biểu mẫu không?

Gửi dữ liệu biểu mẫu bằng phương thức HTTP 'GET': Phương thức GET được sử dụng để yêu cầu dữ liệu từ các tài nguyên được chỉ định. Nó gửi một thân trống đến máy chủ và yêu cầu lấy tài nguyên. Nếu dữ liệu biểu mẫu được gửi bằng phương thức GET, dữ liệu được gửi bởi máy chủ sẽ được thêm vào URL của trang.24-Jun-2021

Làm thế nào các dữ liệu được gửi trong lệnh POST?

Để gửi dữ liệu bằng phương thức bài HTTP, bạn phải bao gồm dữ liệu trong phần thân của thông báo bài HTTP và chỉ định loại MIME của dữ liệu với tiêu đề loại nội dung. Dưới đây là một ví dụ về yêu cầu bài HTTP để gửi dữ liệu JSON đến máy chủ. Kích thước và kiểu dữ liệu cho các yêu cầu bài HTTP không bị giới hạn.15-SEPT-2022

Cách tốt nhất để gửi dữ liệu trong phương thức GET là gì?

Phương thức GET là phương thức được trình duyệt sử dụng để yêu cầu máy chủ gửi lại một tài nguyên nhất định: "Hey Server, tôi muốn lấy tài nguyên này." Trong trường hợp này, trình duyệt gửi một cơ thể trống rỗng. Vì thân trống, nếu một biểu mẫu được gửi bằng phương thức này, dữ liệu được gửi đến máy chủ được thêm vào URL.18-SEPT-2022

Tôi có thể sử dụng phương thức POST để lấy dữ liệu và nhận phương thức để đăng dữ liệu không?

Tôi có thể sử dụng phương thức POST để lấy dữ liệu từ máy chủ và nhận phương thức để đăng dữ liệu lên máy chủ không? Yêu cầu bài đăng có thể có phản hồi, nhưng yêu cầu GET không thể có cơ thể (về mặt kỹ thuật, nó có thể, nhưng có rất ít hệ thống hỗ trợ nó) .08-tháng 9 năm 2016

Làm cách nào để nhận dữ liệu biểu mẫu từ một sự kiện?

Lấy dữ liệu từ một đối tượng formData nếu bạn muốn lén lút vào một đối tượng formData, hãy truy cập vào mẫu HTML ví dụ trong trình duyệt và đặt điểm dừng trên bảng điều khiển. Nhật ký (Sự kiện. FormData). Điền và gửi biểu mẫu với bảng điều khiển của Trình duyệt đã mở và lưu đối tượng dưới dạng biến toàn cầu.02-FEB-2020

Các biểu mẫu và yêu cầu HTTP

Xử lý biểu mẫu là nền tảng cho bất kỳ ứng dụng web nào. Các biểu mẫu cho phép người dùng tương tác với một ứng dụng bằng cách điền vào các trường dữ liệu và tải lên các tệp. Ứng dụng Web cần có khả năng nhận đầu vào từ biểu mẫu và hành động trên nó. Để làm điều này, chúng ta cần hiểu cách dữ liệu biểu mẫu được gửi cùng với yêu cầu HTTP và cách máy chủ mã hóa nó và gửi nó đến tập lệnh ứng dụng trong môi trường WSGI.


 
   

Form Page

SAMPLE FORM
  • First Name:
  • Last Name:

Mẫu đơn giản ở trên có hai trường đầu vào được gọi là 'đầu tiên' và 'cuối cùng' và nút gửi. Thuộc tính phương thức của biểu mẫu là 'GET' là mặc định và có nghĩa là khi người dùng nhấp vào "gửi biểu mẫu", trình duyệt sẽ gửi yêu cầu HTTP nhận được đến máy chủ với dữ liệu biểu mẫu được mã hóa trong URL. Vì vậy, nếu biểu mẫu trên được phục vụ tại URL http: // localhost: 8080/sau đó gửi biểu mẫu sẽ tạo yêu cầu cho url http: // localhost: 8080/? Đầu tiên = steve & last = cassidy. Yêu cầu HTTP sẽ trông giống như:

GET /?first=Steve&last=Cassidy HTTP/1.1
Host: localhost:8080
Connection: keep-alive
User-Agent: Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.11 (KHTML, like Gecko) Ubuntu/11.10 Chromium/17.0.963.56 Chrome/17.0.963.56 Safari/535.11
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Referer: http://localhost:8080/
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-GB,en-US;q=0.8,en;q=0.6
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
    

Lưu ý rằng hai tên trường biểu mẫu được mã hóa trong URL cùng với dữ liệu mà tôi đã nhập và điều này được phản ánh trong dòng GET của yêu cầu.

Phương thức khác để gửi biểu mẫu là POST và tôi có thể dễ dàng sửa đổi biểu mẫu trên bằng cách thay đổi thuộc tính phương thức của biểu mẫu. Nếu chúng tôi sử dụng phương thức POST thì trình duyệt sẽ gửi yêu cầu POST đến máy chủ với dữ liệu biểu mẫu được mã hóa như một phần của thân yêu cầu. Đây là yêu cầu HTTP kết quả:

POST / HTTP/1.1
Host: localhost:8080
Connection: keep-alive
Content-Length: 24
Cache-Control: max-age=0
Origin: http://localhost:8080
User-Agent: Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.11 (KHTML, like Gecko) Ubuntu/11.10 Chromium/17.0.963.56 Chrome/17.0.963.56 Safari/535.11
Content-Type: application/x-www-form-urlencoded
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Referer: http://localhost:8000/
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-GB,en-US;q=0.8,en;q=0.6
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3

first=Steve&last=Cassidy    
    

Lưu ý rằng dữ liệu biểu mẫu xuất hiện giống như trong yêu cầu GET nhưng giờ đây nó là một phần của thân yêu cầu HTTP thay vì nằm trong URL.

Nhớ lại từ cuộc thảo luận của chúng tôi về các yêu cầu HTTP nhận và đăng có ý nghĩa khá khác nhau trong giao thức HTTP. Cách mà dữ liệu hình thành được mã hóa trong mỗi phản ánh những khác biệt này.

Nhận các yêu cầu được dự định sẽ được sử dụng để giải quyết các tài nguyên riêng biệt và vì vậy tất cả các thông tin xác định tài nguyên được bao gồm trong URL. Dữ liệu biểu mẫu được thêm vào yêu cầu GET giống như một vòng loại trên tên tài nguyên: ví dụ: cho tôi biết thời tiết, nhưng vào ngày này và ở vị trí này. URL có thể được đánh dấu hoặc gửi cho người khác.

Mặt khác, yêu cầu POST có nghĩa là phản ánh việc gửi dữ liệu cho tài nguyên web - để tạo tài nguyên phụ mới hoặc cập nhật hoặc sửa đổi một tài nguyên hiện có. Trong yêu cầu POST, dữ liệu biểu mẫu được gửi cùng dưới dạng tải trọng của yêu cầu. Không giống như yêu cầu GET, dữ liệu biểu mẫu không phải là vòng loại về tài nguyên được yêu cầu, đó là dữ liệu mà chúng tôi đang gửi. Các yêu cầu POST nên được sử dụng cho hầu hết các bài nộp biểu mẫu vì hầu hết thời gian, biểu mẫu đang thu thập dữ liệu người dùng và gửi nó đến ứng dụng web.

Xử lý dữ liệu biểu mẫu trong chai

Chai làm cho bất kỳ dữ liệu biểu mẫu nào được gửi với yêu cầu có sẵn thông qua đối tượng

@app.route("/send-form", methods=['POST'])
def send_form():
    data = request.data   
    print request.data
2. Mỗi cách mà dữ liệu biểu mẫu có thể được gửi được xử lý tự động bằng chai, cung cấp cho lập trình viên một giao diện đơn giản để đọc dữ liệu đã được gửi.

Chai sử dụng cấu trúc dữ liệu FormSdict, để lưu trữ dữ liệu nhận được trong một yêu cầu. FormsDict hoạt động giống như một từ điển Python thông thường và cho phép lập trình viên truy cập các trường biểu mẫu được gửi giống như các mục trong từ điển. Các loại dữ liệu biểu mẫu khác nhau được cung cấp dưới dạng các thuộc tính khác nhau của đối tượng

@app.route("/send-form", methods=['POST'])
def send_form():
    data = request.data   
    print request.data
2. Bất kỳ dữ liệu nào được gửi dưới dạng yêu cầu GET (trong chuỗi truy vấn) có sẵn dưới dạng
@app.route("/send-form", methods=['POST'])
def send_form():
    data = request.data   
    print request.data
4 trong khi các biểu mẫu được gửi qua bài đăng có sẵn là
@app.route("/send-form", methods=['POST'])
def send_form():
    data = request.data   
    print request.data
5. Trong mỗi trường hợp, giá trị của biến biểu mẫu
@app.route("/send-form", methods=['POST'])
def send_form():
    data = request.data   
    print request.data
6 có thể được truy cập là
@app.route("/send-form", methods=['POST'])
def send_form():
    data = request.data   
    print request.data
7 hoặc
@app.route("/send-form", methods=['POST'])
def send_form():
    data = request.data   
    print request.data
8.

Dưới đây là một ứng dụng ví dụ minh họa việc gửi biểu mẫu cơ bản với chai. Trước tiên, chúng tôi viết một mẫu đơn giản chứa một biểu mẫu và không gian cho một thông báo:


  
      Form Example
  
  
    
SAMPLE FORM
  • First Name:
  • Last Name:

{{message}}

Lưu ý rằng hành động của biểu mẫu được đặt thành URL gốc (/) và phương thức này là bài, nghĩa là để xử lý biểu mẫu chúng ta cần xử lý các yêu cầu POST cho URL này. Tuy nhiên, bước đầu tiên là phục vụ biểu mẫu cho người dùng để họ có thể điền vào và gửi nó. Do đó, chúng tôi viết trình xử lý cho URL gốc để chỉ phục vụ mẫu bằng một thông báo cố định:

from bottle import Bottle, template, request

app = Bottle()

@app.route('/')
def index():
    """Home Page"""
    
    return template("form.tpl", message="Please enter your name") 
   

Bộ trang trí tuyến đường mặc định trong chai sẽ chỉ xử lý yêu cầu GET, vì vậy mã trên sẽ được kích hoạt bất cứ khi nào chúng tôi nhận được yêu cầu nhận được URL gốc. Khi chúng tôi đã phục vụ trang, người dùng sẽ điền vào biểu mẫu với họ và họ và nhấp vào Gửi. Điều này sẽ tạo ra một yêu cầu POST cho URL gốc; Bây giờ chúng ta cần viết mã để xử lý yêu cầu đó:

send
0

Khi nhận được yêu cầu bài đăng, nó sẽ kích hoạt trình xử lý này. Hàm sau đó lấy các giá trị của hai trường mẫu từ

@app.route("/send-form", methods=['POST'])
def send_form():
    data = request.data   
    print request.data
5 và xây dựng một phản hồi bằng cách sử dụng chúng.

Lưu ý rằng có một phiên bản tốc ký của

127.0.0.1 - - [22/Feb/2015 23:50:54] "POST /send-form HTTP/1.1" 200 - name=dfdsf&phone=89920203725
0 được sử dụng ở trên. Thay vào đó, tôi có thể viết
127.0.0.1 - - [22/Feb/2015 23:50:54] "POST /send-form HTTP/1.1" 200 - name=dfdsf&phone=89920203725
1 để chỉ ra rằng trình xử lý này chỉ nên được kích hoạt cho các yêu cầu POST.

Xử lý dữ liệu số

Nếu bạn đang xử lý dữ liệu số từ một biểu mẫu, ví dụ: bạn cần ai đó gửi chiều cao của họ tính bằng mét, bạn cần lấy lại giá trị điểm nổi từ biểu mẫu thay vì một chuỗi. Để đạt được điều này, bạn có thể cung cấp từ khóa

127.0.0.1 - - [22/Feb/2015 23:50:54] "POST /send-form HTTP/1.1" 200 - name=dfdsf&phone=89920203725
2 cho phương thức
127.0.0.1 - - [22/Feb/2015 23:50:54] "POST /send-form HTTP/1.1" 200 - name=dfdsf&phone=89920203725
3:

send
1

Từ khóa loại có thể được sử dụng cho các loại đơn giản khác như

127.0.0.1 - - [22/Feb/2015 23:50:54] "POST /send-form HTTP/1.1" 200 - name=dfdsf&phone=89920203725
4 và
127.0.0.1 - - [22/Feb/2015 23:50:54] "POST /send-form HTTP/1.1" 200 - name=dfdsf&phone=89920203725
5.

Hình thức xác nhận

Trong ví dụ trên, chúng tôi nhận được các giá trị của hai biến biểu mẫu từ yêu cầu và sử dụng chúng để xây dựng trang đầu ra. Điều này giả định rằng yêu cầu chứa một bản gửi biểu mẫu hợp lệ, nhưng đó có thể là trường hợp các giá trị không được điền vào biểu mẫu hoặc ai đó đang cố gắng tấn công ứng dụng bằng cách giả mạo biểu mẫu. Mã của chúng tôi nên mạnh mẽ chống lại những khả năng này.

Điều phổ biến nhất cần xác thực là một trường bắt buộc đã được người dùng điền vào. Trong trường hợp này, đối với hầu hết các loại trường biểu mẫu, yêu cầu sẽ chứa một giá trị cho trường nhưng giá trị sẽ trống. Kết quả là chúng tôi nhận được một chuỗi trống khi chúng tôi gọi

127.0.0.1 - - [22/Feb/2015 23:50:54] "POST /send-form HTTP/1.1" 200 - name=dfdsf&phone=89920203725
6 cho trường này. Nếu chúng tôi muốn kiểm tra xem trường 'đầu tiên' có được điền hay không, chúng tôi sẽ sử dụng mã sau:

send
2

Một ngoại lệ cho mẫu này là loại đầu vào nút radio trong một biểu mẫu. Nếu chúng tôi trình bày một bộ nút radio không có lựa chọn mặc định và người dùng không chọn bất cứ thứ gì, yêu cầu sẽ không chứa giá trị cho trường đó. Trong trường hợp này, cuộc gọi đến

127.0.0.1 - - [22/Feb/2015 23:50:54] "POST /send-form HTTP/1.1" 200 - name=dfdsf&phone=89920203725
6 sẽ trả lại
127.0.0.1 - - [22/Feb/2015 23:50:54] "POST /send-form HTTP/1.1" 200 - name=dfdsf&phone=89920203725
8.

Trường hợp cuối cùng để kiểm tra là khi ai đó gửi dữ liệu đến ứng dụng của bạn mà không cần thông qua biểu mẫu HTML của bạn. Điều này có thể xảy ra nếu bạn tự động kiểm tra mã của mình hoặc nếu ai đó đã viết 'bot để tự động hóa bài nộp. Một ứng dụng web mạnh mẽ sẽ kiểm tra các trường hợp này để đảm bảo rằng đầu vào mà chúng tôi mong đợi thực sự có mặt.

Để thực hiện kiểm tra này, chúng tôi có thể viết một hàm đơn giản lấy danh sách các tên trường và biểu mẫu và kiểm tra xem giá trị không phải là chuỗi trống hay không có cho mỗi trường bắt buộc. Nó sẽ trả về danh sách các thông báo lỗi có thể được chèn vào trang lỗi kết quả:

send
3

Điều này có thể được sử dụng trong ví dụ của chúng tôi như sau:

send
4

Bài tập

Đó là một ý tưởng tốt để có được nhiều thực hành với các loại hình thức và dữ liệu khác nhau để tìm ra các chi tiết của việc xử lý dữ liệu biểu mẫu. Bạn có thể đặt cho mình một số thách thức của các hình thức đơn giản được gửi đến các ứng dụng thực hiện một số loại tính toán. Dưới đây là một số ví dụ:

  1. Viết một ứng dụng trình bày một biểu mẫu cho người dùng để nhập chiều cao (cm) và trọng lượng (kg) của họ, ứng dụng nên tính toán chỉ số khối cơ thể (BMI) được định nghĩa là trọng lượng chia cho bình phương chiều cao tính bằng mét. Chiều cao và trọng lượng đầu vào và BMI nên được đưa vào trang kết quả.
  2. Viết một ứng dụng dựa trên biểu mẫu tính toán GPA (hoặc thống kê tương tự) được đưa ra một danh sách các lớp trong các đơn vị. Bạn có thể sử dụng một số đơn vị cố định (giả sử 5) để tạo biểu mẫu dễ dàng hơn. Đối với một thử thách thêm, hãy làm cho các lớp đã tham gia vào các trường mẫu sau khi bạn đã gửi biểu mẫu.
  3. Viết một ứng dụng dựa trên biểu mẫu kiểm tra xem ai đó có đủ tuổi để bỏ phiếu dựa trên ngày sinh của họ hay không, nhập DOB với hộp lựa chọn. Bạn chỉ có thể làm điều này với một thuật toán ngây thơ trừ đi năm nay từ năm sinh, nhưng đối với một thách thức thêm về cuộc thảo luận về độ tuổi tính toán từ ngày sinh ở Python.

Một ví dụ khác: Mẫu sử dụng GET

Hãy đi qua một ứng dụng ví dụ khác bằng các biểu mẫu, lần này với một biểu mẫu được gửi qua phương thức GET. Điều này là phù hợp nếu việc gửi biểu mẫu thực sự yêu cầu lấy một giá trị được đưa ra một số đầu vào. Trong ví dụ này, chúng tôi sẽ gửi một số tiền và một loại tiền tệ và lấy lại số tiền được chuyển đổi thành đô la Úc (AUD).

Đầu tiên tôi sẽ viết một chức năng nhỏ để thực hiện chuyển đổi, nó sẽ dựa trên từ điển tỷ lệ chuyển đổi tiền tệ. Tiền tệ sẽ được tra cứu và số tiền nhân với tỷ lệ liên quan. Đây là chức năng:

send
5

Nếu tên tiền tệ không được công nhận, nó sẽ trả về 0.

Để sử dụng điều này trong ứng dụng của chúng tôi, chúng tôi cần một biểu mẫu để cho phép nhập số tiền và tiền tệ. Số tiền sẽ là một đầu vào văn bản đơn giản nhưng loại tiền là một trong một tập hợp các giá trị cố định để chúng ta có thể sử dụng đầu vào Chọn:

send
6

Lưu ý rằng chúng tôi đã đánh dấu một trong các tùy chọn chọn là

127.0.0.1 - - [22/Feb/2015 23:50:54] "POST /send-form HTTP/1.1" 200 - name=dfdsf&phone=89920203725
9 để nó sẽ là tùy chọn mặc định khi trang tải. Đây là hình thức trông như thế nào:

Hướng dẫn get form data in python - lấy dữ liệu biểu mẫu trong python
Ảnh chụp màn hình mẫu tiền tệ

Để hoàn thành mẫu trang, chúng tôi sẽ thêm một số mã để hiển thị kết quả chuyển đổi. Chúng tôi sẽ sử dụng cùng một mẫu để hiển thị trang ban đầu và kết quả chuyển đổi vì vậy chúng tôi chỉ cần hiển thị đoạn này nếu chúng tôi cung cấp giá trị cho một trong các biến, ví dụ

import requests
formdata = "data"
url = 'https://example.com'
website = requests.post(url, data=formdata)
output = website.text
0.

send
7

Bây giờ chúng ta hãy là ứng dụng, trước tiên chúng ta cần một trình xử lý cho URL gốc để cung cấp một trang có chứa biểu mẫu. Chúng ta cần chuyển một giá trị cho

import requests
formdata = "data"
url = 'https://example.com'
website = requests.post(url, data=formdata)
output = website.text
0 vào mẫu với giá trị
127.0.0.1 - - [22/Feb/2015 23:50:54] "POST /send-form HTTP/1.1" 200 - name=dfdsf&phone=89920203725
8 để câu lệnh IF trên sẽ hoạt động. Đây là mã:

send
8

Lưu ý rằng chúng tôi đã lưu trữ mã mẫu ở trên trong

import requests
formdata = "data"
url = 'https://example.com'
website = requests.post(url, data=formdata)
output = website.text
3 trong thư mục chế độ xem.

Ứng dụng này sẽ cung cấp một trang chứa biểu mẫu. Khi người dùng nhập một số tiền và chọn một loại tiền tệ, sau đó nhấp vào nút Gửi, trình duyệt sẽ gửi yêu cầu nhận đến URL

import requests
formdata = "data"
url = 'https://example.com'
website = requests.post(url, data=formdata)
output = website.text
4 với các giá trị biểu mẫu được thêm vào URL. Ví dụ.

send
9

Nếu chúng tôi làm điều này ngay bây giờ, chúng tôi sẽ gặp lỗi (404) vì chúng tôi không viết bất kỳ mã nào để xử lý yêu cầu cho URL này. Vì vậy, bây giờ chúng tôi cần thêm một trình xử lý để nhận yêu cầu vào ____. Trình xử lý này cần có được hai giá trị biểu mẫu và sau đó gọi hàm

import requests
formdata = "data"
url = 'https://example.com'
website = requests.post(url, data=formdata)
output = website.text
6 ở trên. Đã thực hiện điều này, chúng tôi có thể sử dụng hàm
import requests
formdata = "data"
url = 'https://example.com'
website = requests.post(url, data=formdata)
output = website.text
7 để truyền các giá trị này vào mẫu trang và tạo phản hồi. Đây là mã:
Having done this we can use the
import requests
formdata = "data"
url = 'https://example.com'
website = requests.post(url, data=formdata)
output = website.text
7 function to pass these values into the page template and generate the response. Here's the code:

@app.route("/send-form", methods=['POST'])
def send_form():
    data = request.data   
    print request.data
0

Những điều cần lưu ý ở đây. Chúng tôi sử dụng

import requests
formdata = "data"
url = 'https://example.com'
website = requests.post(url, data=formdata)
output = website.text
8 để truy cập dữ liệu biểu mẫu (đối với yêu cầu POST trước đó chúng tôi đã sử dụng
127.0.0.1 - - [22/Feb/2015 23:50:54] "POST /send-form HTTP/1.1" 200 - name=dfdsf&phone=89920203725
3). Đối với trường

 
   

Form Page

SAMPLE FORM
  • First Name:
  • Last Name:
0, chúng tôi cung cấp đối số
127.0.0.1 - - [22/Feb/2015 23:50:54] "POST /send-form HTTP/1.1" 200 - name=dfdsf&phone=89920203725
2 để đảm bảo rằng giá trị chúng tôi lấy lại là một float chứ không phải là một chuỗi. Sau khi kéo hai giá trị trường biểu mẫu từ yêu cầu, chúng tôi tạo một từ điển chứa dữ liệu biểu mẫu và kết quả của việc chuyển đổi; Ba giá trị này được yêu cầu cho mẫu. Sau đó, chúng tôi chuyển từ điển

 
   

Form Page

SAMPLE FORM
  • First Name:
  • Last Name:
2 vào hàm mẫu.

Điều này hoàn thành ví dụ. Chúng tôi có hai trình xử lý tuyến đường, một tạo trang gốc chứa biểu mẫu, thứ hai xử lý dữ liệu biểu mẫu và tạo một trang chứa biểu mẫu và kết quả.

Một sửa đổi cuối cùng là thực hiện một số xử lý lỗi. Mã trên sẽ bị sập nếu không có giá trị cho một trong các biến biểu mẫu - vì vậy nếu người dùng không điền vào giá trị cho


 
   

Form Page

SAMPLE FORM
  • First Name:
  • Last Name:
0 và nhấp vào gửi, ứng dụng sẽ gặp sự cố và trả lại phản hồi lỗi máy chủ 500. Tương tự, nếu giá trị của

 
   

Form Page

SAMPLE FORM
  • First Name:
  • Last Name:
0 không phải là số hợp lệ, chúng tôi sẽ gặp lỗi. Để đối phó với một trong những tình huống này, chúng ta có thể sử dụng đối số

 
   

Form Page

SAMPLE FORM
  • First Name:
  • Last Name:
5 cho
import requests
formdata = "data"
url = 'https://example.com'
website = requests.post(url, data=formdata)
output = website.text
8. Điều này cung cấp một mặc định nếu giá trị không được cung cấp hoặc nếu nó không thể được chuyển đổi thành một chiếc phao. Đây là mã sửa đổi:

@app.route("/send-form", methods=['POST'])
def send_form():
    data = request.data   
    print request.data
1

Phiên bản này mạnh mẽ hơn một chút và sẽ luôn trả lời câu trả lời.Chúng tôi có thể làm tốt hơn bằng cách thông báo cho người dùng rằng họ thực sự nên điền vào giá trị cho


 
   

Form Page

SAMPLE FORM
  • First Name:
  • Last Name:
0, nhưng chúng tôi sẽ để lại như một bài tập cho người đọc.

Dữ liệu biểu mẫu trong yêu cầu Get là gì?

Dữ liệu biểu mẫu là thông tin do người dùng cung cấp thông qua tương tác với một phần tử ở dạng HTML, chẳng hạn như hộp đầu vào văn bản, nút hoặc hộp kiểm.Thông tin được truyền đi dưới dạng một loạt các cặp tên và giá trị.information provided by the user through interaction with an element in a HTML form, such as a text input box, button, or check box. The information is transmitted as a series of name and value pairs.

Phương pháp nào sẽ nhận được dữ liệu biểu mẫu?

Sau khi gửi, dữ liệu biểu mẫu gửi đến máy chủ bằng phương thức GET và phương thức POST.GET method and the POST method.

Dữ liệu trong hình thức nào?

Liên quan đến máy tính và phương tiện truyền tải ngày nay, dữ liệu được chuyển đổi thành dạng kỹ thuật số nhị phân.Có thể chấp nhận cho dữ liệu được sử dụng như một chủ đề số ít hoặc một chủ đề số nhiều.Dữ liệu thô là một thuật ngữ được sử dụng để mô tả dữ liệu ở định dạng kỹ thuật số cơ bản nhất của nó.binary digital form. It is acceptable for data to be used as a singular subject or a plural subject. Raw data is a term used to describe data in its most basic digital format.