Django 如何使用POST发送动态隐藏表单变量
我有一个页面,从数据库中提取“用户”条目并列出它们。典型的结果如下所示:Django 如何使用POST发送动态隐藏表单变量,django,django-forms,Django,Django Forms,我有一个页面,从数据库中提取“用户”条目并列出它们。典型的结果如下所示: 约翰 马蒂 汤姆 简 克里斯 现在我想点击一个特定的名字,然后进入他们的特定页面。为此,我有一个表单,它发布到一个视图,该视图期望用户被“单击” 到目前为止,我在循环中有一个表单,它遍历“users”表中的每个“user”。设置工作正常,但主要问题是表单元素“name”被最后一个用户替换。不管我点击谁的名字,它总是通过最后一个用户的用户名 {% for user in users %} <h1>{
- 约翰
- 马蒂
- 汤姆
- 简
- 克里斯
{% for user in users %}
<h1>{{ user.firstName }} {{ user.lastName }}</h1>
<form action="/friend_profile/" method="post" accept-charset="utf-8">
<input type="hidden" name="selectedFriend" value ={{ user.userName }}>
<button type="submit" value="view profile">
{% endfor %}
{users%]中的用户的%
{{user.firstName}{{user.lastName}}
{%endfor%}
我没有使用DJango表单,只是使用request.method==“POST”来接收变量
所以我愚蠢的问题是,有没有一种方法可以动态创建“name”表单元素并提交特定于用户的内容?现在,无论我点击哪个用户,表单总是提交用户“Chris”,因为它是列表中的最后一个用户
现在,无论我点击哪个用户,表单总是提交用户“Chris”,因为它是列表中的最后一个用户
这是因为您没有关闭
标记,所以浏览器会看到一大堆嵌套表单
此外,您还需要在隐藏的输入中引用并转义值属性:
<form action="/friend_profile/" method="post" accept-charset="utf-8">
<input type="hidden" name="selectedFriend" value="{{ user.userName|escape }}">
<button type="submit" value="view profile">
</form>