Django 类似 url 模式问题
Django similar url pattern issue
我正在开发一个产品比较模块并且有 url 如下模式:
path('comparison/<slug:slug1>-vs-<slug:slug2>/', views.compare_two_products, name="compare_two_products"),
path('comparison/<slug:slug1>-vs-<slug:slug2>-vs-<slug:slug3>/', views.compare_three_products, name="compare_three_products"),
问题是当我尝试访问第二个模式时,Django (3.2.6) 总是匹配第一个模式和 returns 404。但是,如果我注释掉第一个模式,那么它就可以很好地匹配第三个模式。我想让这两种模式都以 slug-vs-slug-vs-slug 格式工作。关于我可能做错了什么的任何建议?
提前致谢。
只需更改顺序或网址,例如
path('comparison/<slug:slug1>-vs-<slug:slug2>-vs-<slug:slug3>/', views.compare_three_products, name="compare_three_products"),
path('comparison/<slug:slug1>-vs-<slug:slug2>/', views.compare_two_products, name="compare_two_products"),
应该可行
我正在开发一个产品比较模块并且有 url 如下模式:
path('comparison/<slug:slug1>-vs-<slug:slug2>/', views.compare_two_products, name="compare_two_products"),
path('comparison/<slug:slug1>-vs-<slug:slug2>-vs-<slug:slug3>/', views.compare_three_products, name="compare_three_products"),
问题是当我尝试访问第二个模式时,Django (3.2.6) 总是匹配第一个模式和 returns 404。但是,如果我注释掉第一个模式,那么它就可以很好地匹配第三个模式。我想让这两种模式都以 slug-vs-slug-vs-slug 格式工作。关于我可能做错了什么的任何建议?
提前致谢。
只需更改顺序或网址,例如
path('comparison/<slug:slug1>-vs-<slug:slug2>-vs-<slug:slug3>/', views.compare_three_products, name="compare_three_products"),
path('comparison/<slug:slug1>-vs-<slug:slug2>/', views.compare_two_products, name="compare_two_products"),
应该可行