2

在以下网址中:

(r'^videos/view/(?P<video_id>[^/]+)/$'
  • 是什么r'意思/做什么?
  • 是什么?P意思/做什么?
  • 正则表达式如何<video_id>逃脱?

换句话说,上述内容与以下内容有何不同:

'^/videos/view/[^/]+/$'
4

1 回答 1

5

r''标记原始字符串,这样您就不必双转义反斜杠。在这种情况下,没有必要,因为没有,但是很多人总是为正则表达式这样做。

(?P<video_id>[^/]+)是对捕获 group 的“命名”的正则表达式的 Python 扩展video_id。在 Django 中,这意味着匹配作为关键字参数发送到视图video_id;如果你这样做了view/([^/]+)/$,它将作为第一个位置参数发送。但是,在您的示例中,根本没有括号,这意味着视图不会得到任何参数!

于 2012-04-19T05:59:20.033 回答