Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 如何使用POST发送动态隐藏表单变量_Django_Django Forms - Fatal编程技术网

Django 如何使用POST发送动态隐藏表单变量

Django 如何使用POST发送动态隐藏表单变量,django,django-forms,Django,Django Forms,我有一个页面,从数据库中提取“用户”条目并列出它们。典型的结果如下所示: 约翰 马蒂 汤姆 简 克里斯 现在我想点击一个特定的名字,然后进入他们的特定页面。为此,我有一个表单,它发布到一个视图,该视图期望用户被“单击” 到目前为止,我在循环中有一个表单,它遍历“users”表中的每个“user”。设置工作正常,但主要问题是表单元素“name”被最后一个用户替换。不管我点击谁的名字,它总是通过最后一个用户的用户名 {% for user in users %} <h1>{

我有一个页面,从数据库中提取“用户”条目并列出它们。典型的结果如下所示:

  • 约翰
  • 马蒂
  • 汤姆
  • 克里斯
现在我想点击一个特定的名字,然后进入他们的特定页面。为此,我有一个表单,它发布到一个视图,该视图期望用户被“单击”

到目前为止,我在循环中有一个表单,它遍历“users”表中的每个“user”。设置工作正常,但主要问题是表单元素“name”被最后一个用户替换。不管我点击谁的名字,它总是通过最后一个用户的用户名

{% 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>