我已经实现了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
这样做的最佳方式是什么?
答案 0 :(得分:1)
为了扩展@anupsabraham所说的内容,这是关于HTML表单使用的一般性问题,并不是django-filter特有的。
一种选择是在表单中使用method="POST"
而不是method="GET"
,这将作为请求正文的一部分而不是作为查询字符串提交数据。
或者,您可以使用javascript拦截表单的提交事件,并过滤空输入。例如:jquery: how to remove blank fields from a form before submitting?