import inspect def register_in_app(router, prefix, viewset, basename=None): # Trouve le module appelant pour déduire le nom de l'app caller = inspect.stack()[1] module = inspect.getmodule(caller.frame) module_parts = module.__name__.split('.') app_label = module_parts[0] # ex: "my_app" full_prefix = f"{app_label}/{prefix.strip('/')}" if basename is None: basename = f"{app_label}-{prefix}" router.register(full_prefix, viewset, basename=basename)