Django忽略路径中的获取参数
我有一个简单的网站,我需要解析如下url:Django忽略路径中的获取参数,django,url,path,Django,Url,Path,我有一个简单的网站,我需要解析如下url: http://127.0.0.1:8000/products/updateproduct?id=1 path('updateproduct', views.updateProduct, name='updateproduct'), path('products/', include('products.urls')), 因此,我为它编写了以下django路径: path('updateproduct?id=<int:id>', vie
http://127.0.0.1:8000/products/updateproduct?id=1
path('updateproduct', views.updateProduct, name='updateproduct'),
path('products/', include('products.urls')),
因此,我为它编写了以下django路径:
path('updateproduct?id=<int:id>', views.updateProduct, name='updateproduct'),
这两个路径都附加到url的/product/
部分,如下所示:
http://127.0.0.1:8000/products/updateproduct?id=1
path('updateproduct', views.updateProduct, name='updateproduct'),
path('products/', include('products.urls')),
基本上,我希望django匹配以
updateproduct
开头的任何路径,并忽略任何get变量(以及之后的所有内容)。这可能吗?django在将url与视图匹配时自动忽略查询
因此:
http://127.0.0.1:8000/products/updateproduct?id=1 && http://127.0.0.1:8000/products/updateproduct?id=10&name=value
都将由同一视图处理
如果要访问视图中的查询,则需要使用
request.GET['id']
# or
request.GET.get('id')
查询参数(在
?
之后的内容)总是被路由器忽略。您可以通过请求在视图中访问它们。获取。如果要匹配以“updateproduct”开头的任何路径,可以使用正则表达式并忽略其余字符串,例如path\u re(r'^updateproduct/*',views.updateproduct,name='updateproduct'),
我想我理解你的意思,尽管我认为它在django中被称为re\u path