在以下网址中:
(r'^videos/view/(?P<video_id>[^/]+)/$'
r'
是什么意思/做什么??P
是什么意思/做什么?<video_id>
是如何逃脱的?换句话说,上述内容有何不同:
'^/videos/view/[^/]+/$'
答案 0 :(得分:5)
r''
标记一个原始字符串,因此您不必双重转义反斜杠。在这种情况下,没有必要,因为没有,但很多人总是为正则表达式做这件事。
(?P<video_id>[^/]+)
是正则表达式的Python扩展,它可以“命名”捕获组video_id
。在Django中,这意味着匹配作为关键字参数video_id
发送到视图;如果你做view/([^/]+)/$
,它将作为第一个位置参数发送。但是,在你的例子中,根本就没有parens,这意味着视图不会得到任何参数!