API
- class django_custom_admin_pages.admin.CustomAdminConfig(app_name, app_module)
Bases:
AdminConfig
AdminConfig for CustomAdminSite. Use if you are not subclassing CustomAdminSite.
- default_site = 'django_custom_admin_pages.admin.CustomAdminSite'
- class django_custom_admin_pages.admin.CustomAdminSite(*args, **kwargs)
Bases:
AdminSite
An Admin site which can register standard django views as well as ModelAdmins. User admin.sites.register_view(AdminBaseView) to add a new custom admin view.
- get_app_list(request, app_label=None)
Adds registered views to the app_list after generating ModelAdmin app_list.
- Parameters:
request (HttpRequest) – request
- Raises:
django.core.exceptions.ImproperlyConfigured – if invalid app_label on view class attribute
- Returns:
app_list
- Return type:
List[Dict]
- get_urls()
Adds registered view urls after adding to ModelAdmin urls.
- Returns:
url list
- Return type:
list[path]
- register_view(view_or_iterable: Iterable | AdminBaseView)
Register view(s) with the CustomAdminSite. The view(s) should be class-based views inheriting from AdminBaseView.
- Parameters:
view_or_iterable (iterable[View] or View) – iterable of views or view
- Raises:
admin.sites.AlreadyRegistered – If view is already registered.
- Returns:
None
- Return type:
None
- class django_custom_admin_pages.views.admin_base_view.AdminBaseView(**kwargs)
Bases:
PermissionRequiredMixin
,View
Base class for custom admin views
- Variables:
view_name –
Display name for view in admin menu
- type:
str or none
- default:
none
route_name –
The name of the path to be created, defaults to no route name
- type:
str or none
- default:
none
route_path –
The slug for the path to be created, defaults to slugified view name
- type:
str or none
- default:
slug-of-view-name
permission_required –
iterable of permissions codenames required to use view. example format: app_label.codename
- type:
tuple[str]
- default:
()
app_label –
The app label that the view will appear under. Must match an app in settings.INSTALLED_APPS. Defaults to settings.CUSTOM_ADMIN_DEFAULT_APP_LABEL
- type:
[str] or none
- default:
none
- get_context_data(*args, **kwargs)
adds admin site context
- get_permission_required()
Override this method to override the permission_required attribute. Must return an iterable.
- has_permission()
Override this method to customize the way permissions are checked.