django - Django忽略路径中的获取参数
问题描述
我有一个简单的网站,我需要解析这样的网址:
http://127.0.0.1:8000/products/updateproduct?id=1
所以我为它写了以下django路径:
path('updateproduct?id=<int:id>', views.updateProduct, name='updateproduct'),
我也试过这样:
path('updateproduct', views.updateProduct, name='updateproduct'),
这两个路径都附加到/product/
url 的一部分,如下所示:
path('products/', include('products.urls')),
基本上我想要的是让 django 匹配任何以开头的路径updateproduct
并忽略任何 get 变量(?以及之后的所有内容)。这可能吗?
解决方案
将 url 与视图匹配时,django 会自动忽略查询。
所以:
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')
推荐阅读
- flutter - 添加提供程序后,Flutter 提供程序未加载登录 UI
- javascript - 为什么我的 innerHTML 更改颜色不适用于 javascript keydown?
- python - 使用布尔值查找两个列表之间的项目匹配并创建字典
- c++ - 具有仅显示偶数的显示功能的循环队列
- selenium - Selenium(Java)没有识别只有div元素的表中的某些元素
- c# - 使用 C# Nunit 捕获异常并声明它
- java - 错误:无法找到或加载主类 C:.Program 原因:java.lang.ClassNotFoundException:C:.Program java11、intellij IDEA 和 javafx 11
- amazon-web-services - 对filebeat AWS支持感到困惑
- javascript - 在javascript中按数字选择每个ID
- vue.js - vue.js vue-gl 在组件中缺少道具相机