Django url路径是覆盖所有组合的最佳数字

时间:2017-10-11 21:00:56

标签: django django-urls

示例:汽车网站。

如果您的网址结构类似于/ maker / model / year。制造商,型号,年份是任何通用的默认占位符。并且替换任何部分都会过滤结果。

所以:

  • /maker/将列出一份汽车制造商名单,如大众或福特。
  • /Ford/model/将列出福特
  • 制作的所有型号
  • /maker/model_of_car/将列出具有该名称的所有模型(如果两个制造商具有相同的模型名称,则会列出两者。
  • /maker/model/将列出所有模型
  • 等......如果您需要更多示例请说。但我希望这足以让我们了解这个想法。

需要涵盖所有可能性的最佳网址数是多少?你能否展示(如果不是全部的话),这是一个关键的例子来实现这个想法。因此,以url(r'(?P<maker>[w-]+)/(?P<model>[w-]+/)'形式{最佳含义:制作一个需要复杂视图和模板才能使其正常工作的超级网址。)

我对问题名称感到抱歉,有人可以改变它以适应身体(如果需要)。我觉得它没有做到身体正义。

感谢您的时间。

1 个答案:

答案 0 :(得分:1)

我相信这会满足您的需求,但我认为您应该重新考虑您的网址约定。看看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>),