从URL django-filter中删除不必要的过滤器

时间:2017-10-19 16:20:36

标签: django django-filter

我已经实现了Django过滤器的非常标准的使用,我注意到当我提交查询时,URL不仅填充了我输入的过滤器,而且每个过滤器都有空白值,我也没有。

例如,当我只填写STATUS_CODE过滤器,然后在我的网站上搜索时,我得

http://localhost:8888/request-log/?status_code=200&route=&time_sent_0=&time_sent_1=&python_error_msg=&s3_upload_failed=&s3_error_msg=

理想情况下,我希望网址只显示不空白的字段。所以,它会转到

http://localhost:8888/request-log/?status_code=200

这样做的最佳方式是什么?

1 个答案:

答案 0 :(得分:1)

为了扩展@anupsabraham所说的内容,这是关于HTML表单使用的一般性问题,并不是django-filter特有的。

一种选择是在表单中使用method="POST"而不是method="GET",这将作为请求正文的一部分而不是作为查询字符串提交数据。

或者,您可以使用javascript拦截表单的提交事件,并过滤空输入。例如:jquery: how to remove blank fields from a form before submitting?