15 lines
494 B
Python
15 lines
494 B
Python
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)
|