2017-10-19 7 views
0

장고 필터를 꽤 표준 적으로 사용하여 쿼리를 제출할 때 URL은 입력 한 필터뿐만 아니라 모든 항목에 대해 공백 값을 채 웁니다. 나는 잘하지 못했다. 난 그냥 STATUS_CODE 필터를 작성하고 내 사이트에 검색 예를 들어URL django-filter에서 불필요한 필터 제거

는 내가 이상적으로, 나는 빈 없습니다 만 표시 필드에 URL을 부탁

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 

가장 좋은 방법은 무엇입니까?

+2

코드를 포함하지 않았으므로 GET 양식을 사용하고있는 것으로 추측됩니다. 양식 버튼을 제출하면 바로 URL이 채워집니다. 당신은 단추를 가로 챈 다음 javascript를 써서 서버에 요청을 보내야합니다 (여기서는 불필요한 GET 매개 변수를 제거 할 것입니다). – anupsabraham

답변

1

@anupsabraham이 말한 것을 확장하면 HTML 폼 사용에 대한 일반적인 질문이며 django-filter에만 국한되지 않습니다.

하나의 옵션은 형태로 method="GET" 대신 method="POST"을 사용하는 것이고, 이는 데이터를 쿼리 문자열 대신 요청 본문의 일부로 제출합니다.

또는 javascript를 사용하여 양식의 제출 이벤트를 차단하고 빈 입력을 필터링 할 수 있습니다. 예 : jquery: how to remove blank fields from a form before submitting?