2017-10-11 2 views
0

例:Car Website。DjangoのURLのパスすべての組み合わせをカバーする最適な数字は何ですか?


この/ maker/model/yearのようなURL構造がある場合は、メーカー、モデル、年は、任意の一般的なデフォルトのプレースホルダです。そして、結果をフィルタリングする部分を置き換えます。だから、

  • /maker/意志のリストは、あなたのVWやフォードなどの自動車メーカーのリストを与えます。
  • /Ford/model/フォード
  • /maker/model_of_car/によって行われたすべてのモデルは、2つのメーカーは、モデルの同じ名前を持っている場合、それは両方が一覧表示されます(その名前を持つすべてのモデルの一覧が表示されます。
  • /maker/model/は、すべてのモデル
  • などが一覧表示されます一覧表示されます...もっと言いたいことがあれば教えてください。しかし、私はこのアイデアを伝えるのに十分だと思います。

アイデアを得るための重要な数の例フォームurl(r'(?P<maker>[w-]+)/(?P<model>[w-]+/)'最適意味:ませちょうどそれを動作させるために複雑なビューとテンプレートが必要になります1つのスーパーURLを作成すること。)

私は質問名について申し訳ありません、誰かが合うようにそれを変更することができます身体(必要な場合)。私はそれが体の正義をしないように感じる。

ありがとうございます。

答えて

1

これはあなたのニーズに対応すると思いますが、私はあなたのURL規約を再考するべきだと思います。 Django Rest FrameworkがViewSetのURLを構築する方法を見てください。それはあなたのために素晴らしい動作します

url(r'^maker/$', <view>), 
url(r'^maker/model/$', <view>), 
url(r'^maker/(?P<model_of_car>[\w ]+)/$', <view>), 
url(r'^(?P<maker>[\w ]+)/model/$', <view>), 
関連する問題