2017-02-20 4 views
0

私はDjangoの貪欲な文字

  • site.com
  • site.comのようにジャンゴに

    url(r'^(?P<permalink>[a-zA-Z0-9_-]*)/?$', views.page, name='page'), 
    

    これは一致している必要がありますページのURLをマップするために、次のルールを使用しようとしています/ super-awesome-page/

これはうまくいきますが、URLテンプレートタグで提供される逆のURLには末尾の/「site.com/page」これらはキャプチャされたパターンを取得しますが、私のリンクが正しくページに表示されるように、正しく動作させるにはどうすればよいですか。

後ろのスラッシュは欲張りなので、逆のURLに含める必要があります。

答えて

0

後続のスラッシュは正規表現ではオプションです。したがって、djangoは逆URLのためにそれを生成しません。

最も簡単な解決策は、後続のスラッシュをオプションではないようにすることです。デフォルトの設定では、djangoは非スラッシュバージョンをスラッシュバージョンにリダイレクトします。それを標準化するのが最も簡単です。

+0

このオプションを選択しないと、Permalinkが何も一致しなかった例(ルートページ)のURLが不正になります。それはオプションですが、私はそれが含まれることを期待するでしょうか?私はそれが非欲張りと逆のURLに含まれていないと期待している欲張りですか? – Hugoagogo

関連する問題