2016-07-25 6 views
0

Ich bin eine GET-Anfrage von jquery wie das Senden:Senden mehrerer Parameter in URL als GET-Anfrage in Django?

http://127.0.0.1:8000/viewspecs/itemdetails?param1="+variable1+"&param2="+ variable2 

Die urls.py Datei in django für diesen Abschnitt sieht ungefähr so ​​aus:

url(r'^viewspecs/itemdetails?param1=(?P<specs_search_item>[\w\+%_ ./-]+)&param2=(?P<item_price>[0-9])$', views.specsView), 

Wenn ich die Adresse zuzugreifen, erhalte ich eine Seite nicht (404) Fehler. Warum ? sein

+0

Mögliche Duplikat [Django GET-Parameter zu akzeptieren] (http://stackoverflow.com/questions/2891441/django-accepting-get-parameters) – solarissmoke

+0

warum url nicht definieren wie 'viewspecs/itemdetails' und Zugriff mit 'viewspecs/itemdetails? param = search_item' –

+0

Wie würden Sie dies für zwei Parameter erreichen? –

Antwort

4

sollte Ihre URL,

url(r'^viewspecs/itemdetails/$', views.specsView), 

Und Ansicht wie sein wird,

def specsView(request): 
    param1 = request.GET['param1'] 
    param2 = request.GET['param2'] 

Und wenn Sie als Parameter zu übergeben,

http://127.0.0.1:8000/viewspecs/itemdetails/param1/param2 

dann wird Urls,

url(r'^viewspecs/itemdetails/(?P<param1>[\w-]+)/(?P<param2>[\w-]+)/$', views.specsView), 

Ansicht wird so sein,

def specsView(request, param1, param2): 
    pass 
+1

Danke Mann! Das hat mein Problem gelöst. Heute etwas Neues gelernt. Übrigens habe ich die erste Methode leichter gefunden. –