我有以下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)
此表单用于填充模板,该模板包含用于供用户提交查询的文本输入字段,以及用于标识查询应指向哪个模型的下拉字段(forms.py中的path_choices变量) .
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
我想要完成的是:作为结果的model_path / Query,我可以反馈到搜索表单的视图,并使用它来重定向与model_path相关的视图 .
我该怎么做到这一点?这种方法有意义吗?或者我误用了表单功能的意图?