django - 带有多个可选参数的 url

标签 django

现在我有一个 View 来显示有关某些票证的信息,并且我正在尝试添加一个功能来过滤这些票证。

假设我有 4 个过滤器:

  • 日期
  • 所有者
  • 类别
  • 状态

类别状态

我想提供使用其中一些过滤器的选项,全部或不使用,问题是我有点迷失了如何让它在 url 中工作。到目前为止,我发现您可以添加一些可选参数,但它们会以某种顺序出现,例如:

/May/Jack/Gas/Accepted

但如果我只选择 2 个过滤器,例如/Jack/Accepted/,它会错误地抓取过滤器。

有什么办法可以实现吗?或者我可以使用其他一些方法来代替这个。泰

最佳答案

不要尝试使用 URL 参数来执行此操作。相反,使用查询字符串参数。 URL 应采用以下形式:

my_path/?date=May&owner=Jack&category=Gas&status=accepted

URL 模式只是:

url(r'^my_path/$', views.my_view, 'my_url'),

并且在 View 中您可以访问 request.GET['date']

关于django - 带有多个可选参数的 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44906890/

相关文章:

javascript - 仅 GET 在使用 django-piston 的跨域 API 请求中工作

python - 如何从 Django 中的查询集中删除前 N 项

尝试通过 pip 安装 mysql-connector 的 Python 错误

django - 使用 Nginx + Gunicorn + Django 提供静态文件

django - Django模型:模型中只允许一个条目?

python - 用户启动的后台进程数量有限

javascript - 如何在Django python中添加Css和Js文件

python - 如何在 nginx 上提供 Django 静态文件

Django Rest Framework 嵌套路由 - PK 替代方案

python - django formset 中的异构形式