Ho questo URL = https://stackoverflow.com/questions/ask?next=1&value=3 Ora ho bisogno di ottenere la stringa di query da questo URL. Non voglio usare request.META per ottenere una stringa di query. Come mai ho capito che ci sono due modi per ottenere la stringa di queryIl modo migliore per ottenere una stringa di query da un URL in python?
Utilizzando urlparse Usa urlparse.urlparse (url) .query DAT è
Utilizzando url encode Usa UrlEncode e superare dizionario request.GET params in esso, per ottenere la rappresentazione di stringa di esso ....
In che modo è meglio ottenere la stringa della query ...? Alcuni dei miei colleghi dicono che l'urlencode è molto meglio, tuttavia non sono soddisfatto che ci siano risposte fino ad ora ... come hanno menzionato urlparse chiama internamente anche urlencode. Anche su questo punto ho dubbi che penso che urlparse e urlencode siano interamente independent.as urlencode è nel modulo urllib .... si prega di chiarire questa cosa.
È importante notare che poiché QueryDict esegue il wrapping di un dizionario non ordinato, request.GET.urlencode() potrebbe non restituire le chiavi nello stesso ordine in cui appaiono nell'URI della richiesta originale. – Aaron
Questo è un fondamentale dei dizionari in realtà. Inoltre, la maggior parte delle stringhe di query deve essere considerata non ordinata se sono codificate. Se è una lista vera, sarà ordinata. – uchuugaka