如何为a生成动态名称并将其名称传递给服务器

时间:2013-10-15 06:00:42

标签: django django-templates django-views

我有以下代码:

                        {% for assessments in list_assessments%}
<form action="/test/" method="post">{%csrf_token%}
                        <tr>
                        <td>{{assessments.assessment_id}}</td>
                        <td>{{assessments.name}}</td>
                        <td>{{assessments.assessment_begin_date}}</td>
                        <td>{{assessments.assessment_end_date}}</td>
                        <td>{{assessments.is_active}}</td>
                        <td>{{assessments.is_complete}}</td>
                        <td>{{assessments.created_at}}</td>
                        <td>{{assessments.updated_at}}<br></td>
                        <td><input type="submit" value="Edit Assessment" /></td>
                        </tr>
                        {%endfor%}
                        </form>

这里的所有数据都是动态的。 在下面的代码中,我需要动态地为assessment.name指定一个名称,例如

<td name="dynamic_name">{{assessment.name}}</td>.

点击“编辑评估”按钮,我希望传递dynamic_name并接收我的视图。

这个想法是每个评估都有自己的一组参数。我想只显示与名称相关的参数。所以,如果我能通过价值我将能够做到这一点。 任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:2)

您的结尾**</form>**标记应该在之前循环。

{% for assessments in list_assessments%}
                      <form action="/test/" method="post" name="form-{{ assessments.counter }}">{%csrf_token%}
                        <tr>
                        <td>{{assessments.assessment_id}}</td>
                        <td>{{assessments.name}}</td>
                        <td>{{assessments.assessment_begin_date}}</td>
                        <td>{{assessments.assessment_end_date}}</td>
                        <td>{{assessments.is_active}}</td>
                        <td>{{assessments.is_complete}}</td>
                        <td>{{assessments.created_at}}</td>
                        <td>{{assessments.updated_at}}<br></td>
                        <td><input type="submit" value="Edit Assessment" /></td>
                        </tr>
                      </form>
{%endfor%}

现在,您可以在javascript和python中通过表单名称(参见上面的代码)获取特定的块值。

在Javascript中,

form = document.getElementByTagName("form")
elems = form.children("td")

elems 会为您提供所有 td 元素。