2011-10-29 51 views
34

Tôi biết trong php tôi chỉ có thể sử dụng $_GET['key1']['key2'] để truy xuất dữ liệu GET được gửi dưới dạng mảng nhưng có thể là một cái gì đó có thể bằng Python khi tôi nhận được chuỗi và không được công nhận là một mảng/danh sách.Lấy mảng làm tham số truy vấn GET trong Python

Tôi sử dụng bình/werkzeug nếu có vấn đề.

+2

Tìm hiểu để đọc các câu hỏi và những gì những người thực sự muốn trước khi bỏ phiếu để đóng một câu hỏi. Tôi biết làm thế nào để có được các thông số yêu cầu, đó không phải là những gì tôi hỏi về. Url của bạn không mang gì mới. –

+2

Tôi không bỏ phiếu để đóng bất cứ điều gì. Sau khi tất cả tôi có ít hơn 100 đại diện, vì vậy tôi không thể làm điều đó. Tôi đã cho bạn một liên kết có thể hữu ích. – Confluence

Trả lời

31

Phân tích sâu các tên đối số là duy nhất cho PHP AFAIK.

Nếu bạn chỉ cần một danh sách đơn giản, chỉ cần chuyển một số tham số có cùng tên và sử dụng request.args.getlist(<paramname>) (documentation).

Nếu không, bạn phải phân tích cú pháp chuỗi truy vấn.

+0

Tôi sợ điều đó. Thật không may tôi đang phân tích cú pháp một IPN từ một cổng thanh toán sẽ gửi mảng vì vậy tôi phải phân tích chúng thành chuỗi mà tôi tin. –

+0

Các mã IPN được mã hóa như thế nào? Bạn có thể đăng một ví dụ? –

+0

IPN_REFNO [23456,23465] & IPN_TOTALAMOUNT [2133,3455] –

43

request.args là bản sao MultiDict (MultiDict, Flask request api).

request.args[key] ## returns a single value, the first if there are multiple 
request.args.getlist(key) ## returns a list 

Nếu bạn muốn gửi cấu trúc phức tạp hơn có thể được mã hóa bằng cách sử dụng khóa đơn giản: vals, hãy xem xét việc gửi một đối tượng được mã hóa json.

Ngoài ra, hãy xem tuần tự param đệ quy jQuery pattern và lib jquery-unparam có thể deserialise nó.

-1
request.query_params 

sẽ trả về tất cả các chìa khóa danh sách cặp giá trị của tất cả các yêu cầu có được thông số

Django, DRF

Các vấn đề liên quan