Как перенаправить отправку формы в другое представление - PullRequest
0 голосов
/ 10 декабря 2018

У меня есть следующая форма django, которая будет использоваться пользователями для ввода запроса и выбора модели для поиска этого конкретного запроса:

from django import forms
class search_forms(forms.Form):

    search_query = forms.CharField(label='search_query')
    path_choices =  [('urlpath1/','model name 1'),
    ('urlpath2/','model name 2')...]
    model_paths = forms.ChoiceField(label='model_paths',choices=path_choices)

Эта форма используется для заполнения шаблона, который состоит изполе ввода текста для пользователей, чтобы отправлять запросы, и раскрывающееся поле, в котором указывается, к какой модели следует направлять запрос (переменная path_choices в forms.py).

Thew views.py выглядит следующим образом, который нужно как-то изменить на следующее:

def search(request):
    if request.method == 'GET':
        form = search_forms(request.GET)
        if form.is_valid():
            return render(request, 'template_for_model_paths.html', {'form': form, 's_results': s_results})
    else:
        form = search_forms()
    return render(request, 'search.html', {'form': form,})

В настоящее время шаблон формы выдает результат GET следующим образом: / search? search_query = QUERY & model_paths = model_path% 2F

Что бы я хотелКак выполнить: модель_путь / Запрос в качестве результата, который я могу передать обратно в представление для формы поиска и использовать его для перенаправления представления, релевантного для пути_Модели.

Как мне это сделать?Имеет ли этот подход смысл?Или я неправильно применяю намерение функциональности формы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...