【问题标题】:while using django_filters how to remove or edit filters field from URL在使用 django_filters 时如何从 URL 中删除或编辑过滤器字段
【发布时间】:2021-08-05 06:18:24
【问题描述】:

在使用 django_filters 时 生成的网址是这样的:

http://127.0.0.1:8000/reports/?EmployeeId=SW1&start_date=07%2F28%2F2021&end_date=07%2F31%2F2021

我不想显示这个东西“?EmployeeId=SW1&start_date=07%2F28%2F2021&end_date=07%2F31%2F2021”

只有身份证号码应该显示为

http://127.0.0.1:8000/reports/1

【问题讨论】:

    标签: python django url django-filters data-filtering


    【解决方案1】:

    当您的表单使用 GET 方法时,它将传递 URL 中的变量。如果您在表单中切换到 POST,则不会。您定义的 url 是您的表单操作将是人们针对所有查询发送到的 URL(您还需要在 urls.py 中设置它)。

    您需要在表单中从 GET 切换到 POST,在视图中切换到 request.POST,并将 CSRF 令牌添加到表单中。可能还有其他安全问题需要考虑,因此请务必对此进行研究。

    【讨论】:

      猜你喜欢
      • 2022-01-23
      • 2019-05-27
      • 2022-01-09
      • 2021-10-27
      • 1970-01-01
      • 2015-04-26
      • 2022-01-21
      • 2023-01-17
      • 1970-01-01
      相关资源
      最近更新 更多