2012-06-27 2 views
0

На моей домашней странице у меня простая форма поиска. Пользователь может ввести несколько фильтров и в следующем шаге результаты поиска отображаемые на новой странице => все это работает:Django - уточнить результаты поиска через форму поиска с заранее заполненными значениями

Ниже упрощенная версия view.py:

def search(request): 
    form = SearchForm() 
    if request.method == 'POST': 
     form = SearchForm(request.POST) 
     results = search(form) 
     return render_to_response('search_results.html',{'results': results},context_instance = RequestContext(request)) 
    else: 
     form = SearchForm() 
    return render_to_response('search.html',{'form': form},context_instance = RequestContext(request)) 

Теперь проблема : На следующем шаге я хочу добавить ту же форму поиска на странице search_result.html. Целью было бы то, что пользователь может уточнить результаты поиска, используя эту форму поиска. В идеальном мире форма поиска на search_results.html уже имеет фильтры, введенные в search.html заранее заполненный.

Я немного борюсь с тем, как подойти к этому. Должен ли я передавать исходные введенные фильтры в качестве списка на страницу search_result.html? Как я могу это сделать? И как я могу поместить эти значения по умолчанию в форму? Может быть, я это переусердствую, но в данный момент я не вижу хорошего решения.

Любая обратная связь, направления очень ценятся!

Спасибо!

ответ

0

Не можете ли вы просто указать свой контекст dict {'results': results, 'form': form}? Это сделает форму доступной снова с ранее размещенными данными, уже связанными с формой.

+0

Привет, Бен, Спасибо за ответ. Вы совершенно правы. простое и чистое решение (возможно, я сидел уже давно за компьютером, чтобы думать с ясным умом). Благодаря! С уважением. –

Смежные вопросы