Skip to main content
 首页 » 编程设计

python之如何在 Django 中将一个 html 页面的值传递给另一个页面

2025年01月19日25小虾米

我刚开始使用 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。