Django反向函数参数

3 投票
2 回答
619 浏览
提问于 2025-04-17 15:08

我刚接触Python和Django,想弄明白下面这段代码是怎么工作的:

return HttpResponseRedirect(reverse('poll_results', args=(p.id,)))

特别是反向函数的第二个参数。看起来它把参数args设置成了一个元组。为什么我需要多一个逗号呢?

2 个回答

3

如果一个元组只有一个元素,那么必须加上一个结尾的逗号,这样才能把它和普通的括号区分开来。

类似的问题:
Python元组的逗号语法规则
为什么在字符串后面加一个结尾的逗号会让它变成元组

7

(p.id) 其实就是把 p.id 放在括号里,没什么特别的意思。而 (p.id,) 则是一个只有一个元素的元组。

文档中的括号形式

撰写回答