次の URL で:
(r'^videos/view/(?P<video_id>[^/]+)/$'
- とは
r'
どういう意味ですか? - とは
?P
どういう意味ですか? - 正規表現によってどのように
<video_id>
エスケープされますか?
つまり、上記と次の違いは何ですか。
'^/videos/view/[^/]+/$'
r''
バックスラッシュをダブルエスケープする必要がないように、生の文字列をマークします。この場合、何もないので必要ありませんが、多くの人は常に正規表現のためにそれを行います。
(?P<video_id>[^/]+)
group をキャプチャする「名前」を付ける正規表現への Python 拡張video_id
です。Django では、これは一致がキーワード引数としてビューに送信されることを意味しますvideo_id
。した場合view/([^/]+)/$
、最初の位置引数として送信されます。ただし、あなたの例では、括弧はまったくありません。つまり、ビューは引数を取得しません!