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.
在我看来,在 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.