Django Forms:从模板中捕获点击的值

时间:2014-07-15 23:00:31

标签: python django django-templates django-views

我有一个模板,其代码类似于

<td><a href = "/os/">{{ contact.Tag_ID  }}</a></td>

列出表格中Tag_ID项。现在,当我点击它时,它转到os页面,这是一个带有Tag_ID字段的表单。我有点想在我点击它时抓住Tag_ID并将其传递给视图并将其设置为初始值。我知道如何设置初始值但无法确定如何捕获Tag_ID或其相关数据。

3 个答案:

答案 0 :(得分:1)

一个简单的解决方案是传递url中的值:

<td><a href = "/os/{{ contact.Tag_ID  }}">{{ contact.Tag_ID  }}</a></td>

<td><a href = "/os/?TagID={{ contact.Tag_ID  }}">{{ contact.Tag_ID  }}</a></td>

在第二种情况下,它只是一个旧式查询字符串,您可以使用javascript来阅读。但是,更好的(django)方式是使用第一种方法,并做一个漂亮的网址。

urls.py

(r'^os/(?P<tag_id>[a-zA-Z0-9]*)/*', 'os_view_handler'),

然后在views.py

def os_view_handler(request, tag_id=None):

...

答案 1 :(得分:1)

网址代码:

<a class="item" href="{% url "your_views_funct" contact.Tag_ID %}">{{ contact.Tag_ID }}</a>

并将其添加到您的urls.py:

(r'^os/(?P<tag_id>[a-zA-Z0-9]*)/*', 'your_views_funct'),

答案 2 :(得分:0)

在不了解您的应用的情况下,我猜你想要一个像/os/<ID>/这样的网址

首先,您应该在应用的url.py中声明此网址。其次,使用模板中的{% url %}标记。 https://docs.djangoproject.com/en/dev/ref/templates/builtins/第三,您的观点应该能够接受此ID作为参数并采取相应措施。