首页 > 解决方案 > 如何将参数从 django 模板传递到单击列表中的列表项的视图?

问题描述

在我的模板中,我有一个列表,其中包含名称和 id 标题下的一些项目,我想为每个项目添加超链接,当我单击一个项目时,它会将其 id 作为 django 的 views.py 中函数的参数并运行那个功能。

目前我的模板看起来像:

<html>
<head>
<body>


<table border="1" cellpadding="5" cellspacing="5">

<td>ID</td>
<td>Name</td>

{% for i in data%}

<tr>
<td>{{i.ID}}</td>
<td>{{i.Name}}</td>
</tr>

{% endfor %}

</table>

</body>
</head></html>

标签: javascriptpythonhtmldjangoweb

解决方案


你可以简单地在你的 td.href 之后做一个 href。在你看来,你可以做功能的事情。您需要定义一个接受 id 参数的函数。

<html>
<head>
<body>


<table border="1" cellpadding="5" cellspacing="5">

<td>ID</td>
<td>Name</td>

{% for i in data%}

<tr>
<td>{{i.ID}}</td>
<td> <a href="/yourpath/{{i.id}}"{{i.Name}}></td>
</tr>

{% endfor %}

</table>

</body>
</head></html>



def your_function_name(request, YOUR_ID):

   # code

也在你的 urls.py


urlpatterns= [
    path('your_path/<your_id>/', views.your_function_name, name='your_name'),
]



推荐阅读