Как обрабатывать динамический корневой slug?
Вставляйте каталог - писать свой роутинг занятие не для начинающих
Попробуйте для начала использовать три вьюхи:from django.urls import include, re_path

urlpatterns = [
    re_path(r'^(?P<catalog>\w+)/$', views.catalog_view, name='catalog'),
    re_path(r'^(?P<catalog>\w+)/(?P<brand>\w+)/$', views.brand_view, name='brand'),
    re_path(r'^(?P<catalog>\w+)/(?P<brand>\w+)/(?P<product>\w+)/$', views.product_view, name='product'),
    ...
]
Views будут принимать slug как параметры, например, так:def product_view(request, catalog, brand, product):
    # ...