我怎样才能知道哪个按钮被点击并在我的vi中得到它的值呢

2024-04-20 12:50:49 发布

您现在位置:Python中文网/ 问答频道 /正文

搜索.py

 {% block search %}
    <form action="#" method="post">
    <div class="container">
      <br>
      <div class="dropdown">
              <button class="btn btn-secondary dropdown-toggle" type="button" name="bankname" type="submit" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                Name
              </button>
              <div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
                {% for key , value  in data_dict.items %}
                <a class="dropdown-item" value=key name="name" href="{% url 'details' %}">{{ key}} </a>
                {% endfor %}
              </div>
      </div>
      </form>

    {%endblock%}

数据目录中的项目数并不总是相同的,因此有时它有2个或3个甚至10个不同的名称,这导致下拉列表中有10个项目。 我需要在details.html的下拉列表中显示所单击名称的详细信息

视图.py


    def details(request ):
        request.GET('name')
        data_dict = request.session.get("data_dict")
        context = {"data_dict" : data_dict}
        return render(request , "details.html", context )

我希望在我的视图中的下拉列表中单击选项卡的值,这样我就可以从我的数据目录中相应地显示详细信息


Tags: keynamepydivform列表datarequest
1条回答
网友
1楼 · 发布于 2024-04-20 12:50:49

你在正确的轨道上。但是,我相信在您试图设置Submit按钮的值的地方缺少了一些JavaScript代码

您应该知道,提交表单时,只有一个布尔值与已单击的按钮的名称一起提交。因此,要正确地执行此操作,您需要添加多个具有不同名称的提交按钮

按照您的示例,类似的操作应该是可行的:

<form method="POST">
  {% for key, value  in data_dict.items %}
    <button type="submit" name="{{ key }}">Save</button>
  {% endfor %}
</form>
def my_view(request, **kwargs):
    button_clicked = None
    for key, value in data_dict.items():
        if request.POST.get(key, False):
            button_clicked = key, value
    print(button_clicked)

我希望这有点帮助,如果你还有任何问题,请告诉我

最佳-乔

相关问题 更多 >