flex_menu.utils#
Helper functions for URL resolution and parameter extraction.
Module Contents#
Functions#
Return the required URL parameter names for a Django view name. |
API#
- get_required_url_params(view_name: str) → frozenset[source]#
Return the required URL parameter names for a Django view name.
Supports both simple view names (“home”) and namespaced view names (“app:home”). Parameters captured by parent resolver prefixes (e.g. “<str:uuid>/” in an include() prefix) are included.
Relies on Django’s own pre-built resolver structures (namespace_dict, reverse_dict), so each call is O(1) dict lookups with no caching needed.
- Parameters:
view_name – A Django view name as used in reverse(), optionally namespaced (e.g. “app:home”).
- Returns:
The names of the required URL parameters, e.g. {“pk”} or {“slug”}.
- Raises:
NoReverseMatch – If the namespace or view name cannot be found.