django 中的两个或两个以上的可选参数 url

Two or more than two optional parameters in django url

在我看来,在 django 的 url 中我需要两个可选参数。为此,我正在做的就像

url(r'^some/?(?P<arg1>.*)?/?(?P<arg2>[0-9]+)?/$','my_view'),

在这里,当我在 url 中没有传递任何参数的情况下尝试它时,它工作正常。如果我试图只传递一个可选参数,那么这种模式也能正常工作。 但是在这里,当我在 url 中传递两个参数的值时,它会将 arg1 和 arg1 的值组合在 arg2 中,例如

/some/abcd/12/    

并显示为

 `{'arg1':'abcd/12', 'arg2':None}`   

而根据我的要求它应该显示它

`{'arg1':'abcd', 'agr2':12}`.

我们将不胜感激。

使用 ^some/?(?P<arg1>[\w]+)?/?(?P<arg2>[0-9]+)?/$ 对我有用。在第一组中,您只想匹配字母(不是斜杠 /)而不是 任何 字符,它至少应该有一个字符存在。玩转它 here.