【问题标题】:Django url paths what is optimal number to cover all combinationsDjango url路径什么是覆盖所有组合的最佳数字
【发布时间】:2025-05-06 17:35:02
【问题描述】:

示例:汽车网站。


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

所以:

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

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

我很抱歉问题名称,有人可以更改它以适合身体(如果需要)。我觉得这对身体不公平。

感谢您的宝贵时间。

【问题讨论】:

    标签: django django-urls


    【解决方案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>),
    

    【讨论】:

      最近更新 更多