Tôi có url này = https://stackoverflow.com/questions/ask?next=1&value=3 Bây giờ tôi cần nhận chuỗi truy vấn từ url này. Tôi không muốn sử dụng request.META để nhận chuỗi truy vấn. Làm thế nào bao giờ tôi figured it out rằng có nhiều cách để có được hai chuỗi truy vấnCách tốt nhất để nhận chuỗi truy vấn từ URL trong python?
Sử dụng urlparse Sử dụng urlparse.urlparse (url) .query dats nó
Sử dụng url mã hóa Sử dụng urlencode và chuyển request.GET params dictionary vào nó, để lấy biểu diễn chuỗi của nó ....
Vậy cách nào tốt hơn để lấy chuỗi truy vấn ...? Một số đồng nghiệp của tôi đang nói rằng urlencode là tốt hơn nhiều, tuy nhiên tôi không hài lòng mở rộng câu trả lời cho đến nay ... như họ đã đề cập urlparse cuộc gọi urlencode nội bộ quá ..Tại điểm này tôi có nghi ngờ như tôi nghĩ urlparse và urlencode là hoàn toàn độc lập.as urlencode là trong mô-đun urllib .... xin vui lòng làm rõ điều này.
Điều quan trọng cần lưu ý là kể từ khi QueryDict kết thúc một từ điển không có thứ tự, request.GET.urlencode() có thể không trả về các khóa theo cùng thứ tự mà chúng xuất hiện trong URI yêu cầu ban đầu. – Aaron
Đó là cơ bản của từ điển thực sự. Ngoài ra, hầu hết các chuỗi truy vấn nên được coi là không có thứ tự nếu chúng được khóa. Nếu đó là danh sách thực, nó sẽ được đặt hàng. – uchuugaka