Django href 将多个参数传递给函数

Posted

技术标签:

【中文标题】Django href 将多个参数传递给函数【英文标题】:Django href pass multiple parameters to function 【发布时间】: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')

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

【问题讨论】:

【参考方案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;

【讨论】:

以上是关于Django href 将多个参数传递给函数的主要内容,如果未能解决你的问题,请参考以下文章

Django将多个参数传递给If语句中的自定义模板过滤器

django 将参数传递给模板标签中的函数

如何在django中将多个参数传递给url

将命名参数传递给 Django 模板中的函数

如何将从表单提交中检索到的参数作为参数传递给 django 中的函数

django 1.7 如何将参数传递给函数正则表达式