如何将表单提交重定向到其他Vi

2024-03-27 22:44:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下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\ U choices变量)表单.py). 你知道吗

他们视图.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\u query=query&;model\u paths=model\u路径%2F

我想完成的是:作为结果的model\u path/Query,我可以将其反馈到搜索表单的视图,并使用它重定向与model\u path相关的视图。你知道吗

我应该如何做到这一点?这种方法有意义吗?还是我误用了表单功能的意图?你知道吗


Tags: pathdjango用户form视图模板表单search