我刚开始使用Django,我想以html格式创建一个提交表单,与另一个html页面进行通信。
Page1.html:提交表单,假设我输入“Hello world”然后点击提交,我被重定向到page2.html
Page2.html:感谢Get请求Page2.html显示“Hello World”,因为page2已从page1加载
在第1页中,我使用此表单:
<form type="get" action="/page2" style="margin: 0">
<input id="search_box" type="text" name="search_box" placeholder="Search..." >
<button id="search_submit" type="submit" >Search</button>
在Views.py我有这个功能:
def page2(request):
if request.method == 'GET':
search_query = request.GET.get('search_box', None)
return render(request, 'interface/recherche.html', locals())
但我不知道如何显示第2页第1页中输入的单词,非常感谢你的回答:)
将整个局部变量发送到模板可能是危险且不安全的,也是不必要的,因此您可以使用locals()
或仅使用request.GET
键入的值传递整个查询字符串而不是传递search_box
:
return render(request, "interface/recherche.html", request.GET)
要么
return render(request, "interface/recherche.html", {"search_box": search_query})
你可以像recherche.html
一样打印{{ search_box }}
中的值。
您可以通过在浏览器的地址栏中键入/page2?search_box=text
之类的内容来测试它。该页面应显示text
。