Tak więc niestety znalazłem się w sytuacji, w której muszę zmodyfikować istniejącą aplikację Pylons do obsługi adresów URL, które zapewniają wiele parametrów o tej samej nazwie. Coś jak na poniższym ... domeny: port/akcji c = 1 & v = 3 & c = 4Jak uzyskać wiele parametrów o tej samej nazwie z adresu URL w Pylons?
Tradycyjnie parametry są dostępne w ten sposób ...
from pylons import request
c = request.params.get("c")
#or
c = request.params["c"]
To wróci " 4 "jako wartość w obu przypadkach, ponieważ ignorowanie wszystkich oprócz ostatniej wartości wydaje się być standardowym zachowaniem w tych sytuacjach. To, czego naprawdę potrzebuję, to mieć dostęp do obu. Próbowałem drukowanie request.params i dostać coś takiego ...
NestedMultiDict([(u'c', u'1'),(u'v', u'3'),(u'c', u'4')])
nie znalazłem drogę do indeksu do niego dostęp lub że pierwsza wartość dla C.
znalazłem similar question odnoszących się do tego problemu, ale rozwiązany z PHP:
Coś wzdłuż tych linii będzie działać dobrze dla mnie, ale może jakiś kod Pythona, który pasowałby do Pylony. Czy ktoś wcześniej zajmował się czymś takim?
Dziękujemy za poprawienie formatowania! Nie było tak, jak zamierzałem, oczywiście ... –
Popraw mnie, jeśli się mylę, ale wiele obiektów KEY nie może istnieć w ramach tego samego żądania? Jest to sprzeczne z wszelkimi definicjami. – Torxed
Czy mówisz, że nie powinno być dwóch parametrów o tej samej nazwie? Jeśli to jest twoje pytanie, zgadzam się, że najlepsze praktyki uniknęłyby tego. Nie jest to jednak zabronione. Na przykład spróbuj wpisać ten adres URL w przeglądarce (https://www.google.com/search?q=one&q=two). Istnieją dwa parametry zapytania, więc Google łączy je w jedno. Jest to mniej więcej to, co chciałbym móc zrobić. –