【问题标题】:Django href pass multiple parameters to functionDjango href 将多个参数传递给函数
【发布时间】:2021-09-14 22:25:28
【问题描述】:

我想将两个参数从 HTML 页面 throw href 传递给一个函数 首先参数是: HTML 页面,

{{object.id}}
.
.
 {% for item in model_items %}
<td>{{item.ID}}</td>
<td class="p-1 mb-1 text-dark">
<a href="{% url 'Up_Items' item.id {{object.id}} %}" class="btn btn-info btn-sm">Add Item</a></td>

第二件事是urls.py;

 path('Up_Items/<int:id_itm,id_itm2>/', views.ADD_item, name='Up_Items'),

以及views.py中的函数。

def ADD_item(request, id_itm, id_itm2):
    print(id_itm, id_itm2 )
    return redirect('Invoices')

我错过了什么才能正常工作?

【问题讨论】:

    标签: django django-views django-templates href django-urls


    【解决方案1】:

    您可以使用两个(或更多)参数定义路径:

    path('Up_Items/<strong>&lt;int:id_itm&gt;</strong>/<strong>&lt;int:id_itm2&gt;</strong>/', views.ADD_item, name='Up_Items'),

    因此,我们定义了两个变量id_itmid_itm2,并且都将&lt;int:…&gt; 作为路径转换器。我们在两者之间使用斜线来明确一个 id 在哪里停止而另一个在哪里开始。例如,您也可以使用逗号,但斜杠更常见,逗号应该需要percent-encoding [wiki]

    然后我们可以定义一个函数:

    def ADD_item(request, id_itm, id_itm2):
        # …
        pass

    并通过以下方式引用它:

    &lt;a href="{% url 'Up_Items' <strong>item.id object.id</strong> %}"&gt;

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-02
      • 1970-01-01
      • 2018-03-21
      • 2020-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-19
      相关资源
      最近更新 更多