2016-06-01 3 views
-1

Meine Suchfeld gibt so etwas wie dieses:Wie kann ich Stadt, Region, Land von der URL extrahieren? Django

http://localhost:8000/search/?city=New+York%2C+NY%2C+United+States

Wie kann ich extrahieren Stadt, Region, Land. Ich habe durch dieses Dokument gewesen: https://docs.python.org/2/library/urlparse.html

und diese Frage:

How can I extract City, Region, Country from a URL? Django

aber nicht ganz sicher, wie man sie trennen.

+0

Wie "trennen" was? Und warum würdest du 'urlparse' verwenden, wenn du Django verwendest und einfach auf' request.GET' zugreifen kannst? – C14L

+0

Wo ist dein Code? In welchem ​​Schritt stecken Sie fest? Kannst du die URL bekommen? Extrahieren Sie den Abfrageparameter? Decodiere die z.B. '% 2C' im Abfrageparameterwert? – jonrsharpe

Antwort

0

Verwendung django Request-Objekt "Domain/Suche/Stadt = Wien?"

in django Klasse basierte Ansichten:

self.request.GET['city'] 

in django Funktion basierte Ansichten

def get_something(request): 
    return HttpResponse("%s" % request.GET['city']) 
0

Python 2.7

>>> from urlparse import urlparse, parse_qs 
>>> u = urlparse('http://localhost:8000/search/?city=New+York%2C+NY%2C+United+States') 
>>> q = parse_qs(u.query) 
>>> q['city'] 
['New York, NY, United States'] 
>>> q['city'][0].split(', ') 
['New York', 'NY', 'United States'] 
0

Einfach in der Django View-Funktion. Das Objekt request hat eine request.GET Eigenschaft.

def my_view(request): 
    crc = request.GET.get(city, None) 

    if crc: 
     city, region, country = crc.split(',') 

    # ... 
Verwandte Themen