【问题标题】:How to get value to one html page to another in Django?如何在 Django 中将一个 html 页面的价值传递给另一个页面?
【发布时间】:2018-05-30 09:49:51
【问题描述】:

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

但是我不知道如何在page2中显示已经在page1中输入的单词,非常感谢您的回答:)

【问题讨论】:

  • type="get" 什么都不做。 method="get" 是你想要的(它是默认值,所以这就是为什么它仍然有效..)

标签: python django


【解决方案1】:

将整个局部变量发送到模板可能是危险且不安全的,而且是不必要的,因此您可以使用request.GET 传递整个查询字符串,或者只传递以search_box 为键的值,而不是传递locals()

return render(request, "interface/recherche.html", request.GET)

return render(request, "interface/recherche.html", {"search_box": search_query})

你可以像{{ search_box }}一样打印出recherche.html中的值。

您可以在浏览器的地址栏中输入/page2?search_box=text 之类的内容来测试它。该页面应显示text

【讨论】:

    猜你喜欢
    • 2015-12-08
    • 2013-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-08
    • 1970-01-01
    相关资源
    最近更新 更多