1

こんにちは

この表現は実際にどのように機能しますか?


urlpatterns = patterns('', 
   url(r'^get/(?P<app_id>\d+)/$', 'app.views.app'),
   ...
)

少なくとも、ユーザーが入力したURLをアプリのビュー ページの関数にマップするために、それ何をするかを理解しています。また、アプリのIDを取得してURLにマッピングするのは正規表現であることも理解しています。しかし、この機能はどこに行くのでしょうか? r'^...?P /$ で何が起こっているのですか (d+ は id 自体の数字の正規表現ですが、それだけです)。app()

また、この url 関数がモジュールから描画されることも理解していdjango.conf.urlsます。

おそらく私の誤解は、私の正規表現の経験の欠如に埋もれています。それにもかかわらず、私は助けが必要です!よくわからないものを使うのが嫌いで、罪悪感があります。

4

2 に答える 2

1

r次の文字列リテラルの解釈方法を変更するだけです。バックスラッシュ ( \) はエスケープ シーケンスとして扱われません。つまり、文字列内の正規表現がそのまま使用されます。

^文字列の先頭と$末尾にそれぞれ一致します。

(?P<name>...)保存された名前付きグループです。URL の一部を切り取り、パラメーターとしてビューに渡すのに役立ちます。詳細については、djangoという名前のグループのドキュメントを参照してください。

それが役立つことを願っています。

于 2013-07-25T21:48:32.910 に答える