Skip to content

# NautobotUIViewSetRouter

With `NautobotUIViewSet` as the base UI ViewSet for `YourAppModel`, it is required to register your urls with the help of `NautobotUIViewSetRouter`.

For a concrete example on how to use `NautobotUIViewSetRouter`, see `nautobot.circuits.urls`.

Below is a theoretical `urls.py` file for `YourAppModel`:

    from django.urls import path

    from nautobot.apps.urls import NautobotUIViewSetRouter
    from your_app import views

    router = NautobotUIViewSetRouter()
    router.register("yourappmodel", views.YourAppModelUIViewSet)

    urlpatterns = [
        # Extra urls that do not follow the patterns of `NautobotUIViewSetRouter` go here.
        # changelog, notes and etc.
        ...
        path(
            "yourappmodels/<uuid:pk>/changelog/",
            ObjectChangeLogView.as_view(),
            name="yourappmodel_changelog",
            kwargs={"model": yourappmodel},
        ),
        path(
            "yourappmodels/<uuid:pk>/notes/",
            ObjectNotesView.as_view(),
            name="yourappmodel_notes",
            kwargs={"model": yourappmodel},
        ),
        ...
    ]
    urlpatterns += router.urls