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)
此表单用于填充模板,该模板由供用户提交查询的文本输入字段和标识查询应定向到哪个模型的下拉字段组成(forms.py 中的 path_choices 变量)。
view.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 相关的视图。
我应该如何做到这一点?这种方法有意义吗?还是我误用了表单功能的意图?
解决方案
推荐阅读
- python - Python 字节串子串切片返回不同的表示
- javascript - 我无法从数据库中获取更新的数据,尽管它们在数据库中
- haskell - 如何从数据中获取键值
- jquery - Materialize DatePicker 覆盖 jQuery DatePicker
- python - 在没有 PyPi 的情况下安装 GitHub 包
- python-3.x - 在多个表中查询相似的文本字符串
- statistics - 负载流道标准差
- linux - Serilogs 在 aspnet core 2.1 的 linux 服务器中不起作用
- javascript - How to set the call back in WEB3
- python - 股票预测算法有问题