我刚开始使用 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())
但是我不知道page1中输入的单词如何显示在page2中,非常感谢您的回答:)
请您参考如下方法:
将整个局部变量发送到模板可能是危险和不安全的,而且是不必要的,因此除了传递 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。
