hi,
I think It's not a django problem, it's a classic web developing problem.
Http is stateless, if you want to 'save' something, you need to use
1. URL param like the 'q=soccer'.
2. Use cookie/session.
I think your problem can be solved by one of the methods below:
1. Use ajax to do the search, and use javascript to update the search result, so the page will not be reload when doing search.
2. Put the search box and category check-boxes in one form, when the user submit to search, the browser will also submit the categories check boxes, so you know what the user selected, you can select them again in the response html.
3. Use javascript to remember what category the user selected, and render the selection when the page reloaded.