我的项目中有三个模板 - 我们称之为 first.html , second.html , third.html 。< / p>
first.html 使用<input>
标记从用户处获取字符串:
<input type="radio" name="selection" value="example_string" />
second.html 使用{{selection}}
显示此字符串。 (在我的 views.py 中,我使用request.POST.get
和render_to_response()
获得了值。)
问题是:如何将此值从 second.html 发送到 third.html ?我尝试之一 - 使用<span>
标记将信息保存在变量中,如下图所示,但它似乎不起作用。
<span name="selection" value={{selection}}>{{selection}}</span>
编辑:以下行通过创建虚拟单一单选按钮来工作。我不知道为什么不能创建没有<input>
标签的变量[对用户可见]。
<input type="radio" name="selected" value={{selected}} checked="checked" />
答案 0 :(得分:5)
您需要了解网络的工作原理:每个网页都是完全独立的,并且是使用单独的请求进行请求的。
您的基本选项是:在客户端保存数据,或将其发回服务器。
可以使用javascript执行这两个选项,也可以通过将表单发布回服务器来执行回发。
如果要将其发送回服务器,则必须将其存储在当前会话或模型中。
有很多javascript库。如果您想使用它们,我建议您围绕这个主题进行谷歌搜索。
答案 1 :(得分:0)
回答我自己的问题,现在我已在Django's documentation找到了答案。
对此有一种特殊的<input>
标记:"hidden"
。以下行完成了与问题中提到的相同的操作,但没有用户可见的虚拟元素:
<input type="hidden" name="selected" value={{selected}} />