在我的一个视图中,我需要在django中url
中的两个可选参数。为此我正在做的就像
url(r'^some/?(?P<arg1>.*)?/?(?P<arg2>[0-9]+)?/$','my_view'),
这里,当我尝试它而不在url中传递任何参数时,它工作正常。如果我试图只传递一个optinal参数,那么这个模式也可以。 但是当我传递url中两个参数的值时,它将arg1和arg1的值组合在arg2中,如
/some/abcd/12/
并显示它像
`{'arg1':'abcd/12', 'arg2':None}`
然而根据我的要求它应该显示它
`{'arg1':'abcd', 'agr2':12}`.
帮助将不胜感激。
答案 0 :(得分:3)
使用^some/?(?P<arg1>[\w]+)?/?(?P<arg2>[0-9]+)?/$
对我有用。在第一组中,您只想匹配字母(不是斜杠/
)而不是任何字符,它至少应该有一个字符存在。四处玩here。