2016-07-25 103 views
0

我从jQuery的发送一个GET请求为:在url中发送多个参数作为django中的GET请求?

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

在Django这个部分的urls.py文件看起来像:

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

当我访问的地址,我得到一个页面不是(404)错误。为什么?

+0

的[Django的接受GET参数]可能的复制(http://stackoverflow.com/questions/2891441/django-accepting-get-parameters) – solarissmoke

+0

何不定义URL像这样'viewspecs/itemdetails'和访问使用'viewspecs/itemdetails?param = search_item' –

+0

以同样的方式你将如何完成这两个参数? –

回答

4

您的网址应该是,

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

,并查看将会像,

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

如果你想传递参数,

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

然后网址将被,

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

视图将是这样的,

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

谢谢你!这解决了我的问题。今天学到了新东西。顺便说一下,我发现第一种方法更容易。 –

相关问题