2

次の URL で:

(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 に答える