【发布时间】:2020-03-17 12:29:03
【问题描述】:
search.py
<div class="container">
<br>
<div class="dropdown">
<button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Names
</button>
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
{% for items in name %}
<a class="dropdown-item" href="{% url 'details' %}">{{ items }}</a>
{% endfor %}
</div>
</div>
name 是一个变化的列表,它可以有 2 或 3 或 n 个项目,所以我使用了一个 for 循环来显示下拉列表中的所有项目。现在我要做的是获取下拉项点击。 例如,我单击下拉列表的第三项,我想将索引 2 传递给我的 views.py,因此当它重定向到 url “details.html”时,网页上显示的数据将从列表中提取我想根据索引传递下拉菜单中点击的项目的索引。
views.py
def details(request ):
name = request.session.get("name")
data = request.session.get("data")
txns = data["drop-downindex"]["txns"]
context ={"txns":txns ,"name1":name1}
return render(request , "details.html", context )
会话是我用来存储数据的,我基本上是在另一个函数中创建一个 API,并将 json 数据存储在数据变量中,这是一个列表 1)数据列表包含各种名称的txns详细信息(下拉) 因此,当我单击下拉列表的第二项时,索引 1 应该进入我的数据列表并获取列表项 2 或索引 1 的 txns
【问题讨论】:
-
您可以显示您的详细信息视图吗? index=2 是否与 items.pk 相同?通常,我们将使用
"{% url 'details' pk=item.pk %}"将变量传递给视图,在视图中,您可能会有类似def details(request, pk)的内容。顺便说一句,您可能想使用item而不是items。 -
@ha-neul 我已经按照您的说法编辑了帖子,现在您可以找到详细信息视图。我不明白您所说的 pk =item.pk 是什么意思。我会使用项目,但我认为我没有任何区别。谢谢
标签: python html django forms list