在 URL Django 中循环

Loop in a URL Django

我想通过 URL 访问不同的类别,是否可以进行循环或类似的操作?迭代到 URL 结束,无论有多少类别。

例如,我的没有这个循环的代码如下,并且仅限于 6 个子类别。

urls.py

path('<cat1>/<cat2>/<cat3>/<cat4>/<cat5>/<cat6>', views.AdList.as_view(), name='ad_list'),

我想最简单的方法是向您的 urlpatterns 添加多个指向同一视图的网址。

例如:

# urls.py

urlpatterns = [
    ...
]

# if you really want urls being abled to "receive" one to 6 categories in such a way:
for i in range(1, 6):
    new_url = 'cars/'
    for j in range (0, i):
        new_url += f"<str:cat{j}>/"
    urlpatterns.append(path(r'f{new_url}', your_view.as_view(), name="your_view")

这会起作用,因为您可以有多个 url 指向同一个视图。然后,您将不得不检查您的视图是否提供了此类类别。