搜索.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>
名称是一个不同的列表,它可以有 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 )
session 是我用来存储数据的,我基本上是在另一个函数中创建一个API,并将json数据存储在数据变量(一个列表)中 1) 数据列表包含各种名称的 txns 详细信息(下拉列表) 因此,当我单击下拉列表的第二项时,索引 1 应该进入我的数据列表并获取列表项 2 或索引 1 的 txns
最佳答案
更改您的 URL,使其接受索引参数。类似的东西
url( r'^details/(?P<index>\d+)/$', myview, name='detail' )
更改 View 以接受索引参数
更改模板以将索引参数传递给 url
:
<a class="dropdown-item" href="{% url 'details' index=index %}">{{ items }}</a>
我不清楚索引参数来自哪里,但它会在您的 View 上下文中。典型的示例是一个接受对象 ID 的详细 View ,该对象 ID 通过迭代模板中的查询集获得:
... href="{% url 'details' id=object.id %}"
如果 name 是一个列表,则将 name=enumerate(name)
传递给模板,for 循环将为 {% for index,items in name %}
关于python - 我正在尝试获取所选列表项的索引值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58977203/