https://docs.djangoproject.com/en/2.2/topics/http/urls/ Examples: Function views 1. Add an import: from my_app import views 2. Add a URL to urlpatterns: path('', views.home, name='home') Class-based views 1. Add an import: from other_app.views import Home 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home') Including another URLconf 1. Import the include() function: from django.urls import include, path 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) """ from django.contrib.auth import views as auth_views from django.urls import path from base import views from base.tools.checks import is_user_authenticated, group_required app_name = "base" urlpatterns = [ path('', auth_views.LoginView.as_view(), name='start'), path('api/save_grid_annotations', views.save_grid_annotations, name='save-grid-annotations', kwargs={"check": is_user_authenticated()}), path("export/file", views.export_file, name="export_file", kwargs={"check": group_required("Annotator")}) ]
"concept_classification:data_review", children=review_children)) model_children = (MenuItem( "Dataset Overview", reverse("concept_classification:model_dataset_overview")), MenuItem("Training", reverse("concept_classification:model_training")), MenuItem("Evaluation", reverse("concept_classification:model_evaluation")), MenuItem("Inference", reverse("concept_classification:model_inference"))) # reversed need to be unique otherwise wrong assumptions when resolving which menu item is selected Menu.add_item( f"{ConceptClassificationConfig.name}_main", MenuItem("Data", "concept_classification:data", children=data_children, check=group_required("Annotator"))) Menu.add_item( f"{ConceptClassificationConfig.name}_main", MenuItem("Model", "concept_classification:model", children=model_children, check=group_required("Trainer"))) Menu.add_item( f"{ConceptClassificationConfig.name}_main", MenuItem("Retrieval", reverse("concept_classification:retrieval"))) Menu.add_item(f"{ConceptClassificationConfig.name}_main", MenuItem("Export", reverse("concept_classification:export")))
from base.tools.checks import group_required, is_user_authenticated from face_recognition.apps import FaceRecognitionConfig from . import views app_name = FaceRecognitionConfig.name urlpatterns = [ # TODO: This is not a solution if an user is not in "Annotator" group! path("", RedirectView.as_view( url=reverse_lazy("face_recognition:data_person_selection")), name="start"), path("data/selection", views.PersonListView.as_view(), name="data_person_selection", kwargs={"check": group_required("Annotator")}), path("data/selection/save", views.select_person, name="select_person", kwargs={"check": group_required("Annotator")}), path("data/selection/add_person", views.PersonCreateView.as_view(), name="add_person", kwargs={"check": group_required("Annotator")}), path('data/selection/edit_person/<int:pk>', views.PersonEditView.as_view(), name="edit_person", kwargs={"check": group_required("Annotator")}), path('data/selection/delete_person/<int:pk>', views.PersonListView.as_view(), name="delete_person",
app_name = AccountsConfig.name urlpatterns = [ path('', include('django.contrib.auth.urls')), path('profile/', views.UserUpdateView.as_view(), name='profile'), path('apply_user/', views.UserApplyView.as_view(), name='apply_user'), path('blocked/', views.get_blocked_page, name='blocked'), path('change_password/', views.ChangeUserPasswordView.as_view(), name='change_password'), path('um/create_user/', views.UserCreateView.as_view(), name='create_user'), path('um/user_list/', views.UserListView.as_view(), name='user_list'), path('um/edit_user/<int:pk>', views.UserEditView.as_view(), name='edit_user', kwargs={"check": group_required("User manager")}), path('um/delete_user/<int:pk>', views.UserDeleteView.as_view(), name='delete_user', kwargs={"check": group_required("User manager")}), path('um/set_password/', views.set_user_password, name='set_user_password', kwargs={"check": group_required("User manager")}), path('um/set_groups/', views.set_groups, name='set_groups', kwargs={"check": group_required("User manager")}) ]
from django.urls import reverse from menu import Menu, MenuItem from accounts.apps import AccountsConfig from base.tools.checks import group_required user_mgmt_children = ( MenuItem("List users", reverse("accounts:user_list")), MenuItem("Create user", reverse("accounts:create_user")), ) Menu.add_item(f"{AccountsConfig.name}_main", MenuItem("Profile", reverse("accounts:profile"))) Menu.add_item(f"{AccountsConfig.name}_main", MenuItem("Change password", reverse("accounts:change_password"))) Menu.add_item( f"{AccountsConfig.name}_main", MenuItem("User management", "acc:um", children=user_mgmt_children, check=group_required("User manager")))