Skip to content

SidebarWidget

SidebarWidget

djadmin.dataclasses.SidebarWidget

Sidebar widget for displaying content in action view sidebars.

Sidebar widgets allow plugins to register content that appears in a dedicated sidebar area of action views (e.g., filters, quick actions, help text).

Class Attributes

Attribute Type Description
template - Path to the template to render for this widget.
context_callback - Optional callable that receives (action, request) and returns a dict of context variables for the template.
order - Sort order for widgets (lower numbers appear first). Default: 10.
condition - Optional callable that receives (action, request) and returns True if the widget should be shown. Default: always show.
identifier - Optional unique identifier for this widget (for debugging/overriding).

Examples

Simple widget with static template

SidebarWidget( template='myapp/sidebar_widget.html', order=10, )

Widget with dynamic context

SidebarWidget( template='djadmin_filters/filter_sidebar.html', context_callback=lambda action, request: { 'filterset': action.get_filterset(), }, order=10, )

Conditional widget (only show for certain views)

SidebarWidget( template='myapp/help.html', condition=lambda action, request: action.model_admin.show_help, order=20, )

Method Resolution Order

  1. djadmin.dataclasses.SidebarWidget

Attributes

Attribute Value Defined in
__annotations__ {'template': 'str', 'context_callback': 'Callable[[Any, A... djadmin.dataclasses.SidebarWidget
__dataclass_fields__ {'template': Field(name='template',type='str',default=<da... djadmin.dataclasses.SidebarWidget
__dataclass_params__ _DataclassParams(init=True,repr=True,eq=True,order=False,... djadmin.dataclasses.SidebarWidget
__hash__ None djadmin.dataclasses.SidebarWidget
__match_args__ ('template', 'context_callback', 'order', 'condition', 'i... djadmin.dataclasses.SidebarWidget
condition None djadmin.dataclasses.SidebarWidget
context_callback None djadmin.dataclasses.SidebarWidget
identifier None djadmin.dataclasses.SidebarWidget
order 10 djadmin.dataclasses.SidebarWidget

Methods

__eq__(self, other)

Defined in: <class 'djadmin.dataclasses.SidebarWidget'>

Return self==value.

__init__(self, template: 'str', context_callback: 'Callable[[Any, Any], dict] | None' = None, order: 'int' = 10, condition: 'Callable[[Any, Any], bool] | None' = None, identifier: 'str | None' = None) -> None

Defined in: <class 'djadmin.dataclasses.SidebarWidget'>

Initialize self. See help(type(self)) for accurate signature.

__repr__(self)

Defined in: <class 'djadmin.dataclasses.SidebarWidget'>

Source code in repr.py line 49
        def __repr__(self):
            return _generate_repr(self)

get_context(self, view, request) -> 'dict'

Defined in: <class 'djadmin.dataclasses.SidebarWidget'>

Get context data for rendering this widget.

Args: view: The view instance request: The HTTP request

Returns: dict: Context variables for the template

Source code in dataclasses.py line 278
    def get_context(self, view, request) -> dict:
        """
        Get context data for rendering this widget.

        Args:
            view: The view instance
            request: The HTTP request

        Returns:
            dict: Context variables for the template
        """
        if self.context_callback is None:
            return {}
        return self.context_callback(view, request)

should_display(self, view, request) -> 'bool'

Defined in: <class 'djadmin.dataclasses.SidebarWidget'>

Check if this widget should be displayed.

Args: view: The view instance request: The HTTP request

Returns: bool: True if the widget should be displayed

Source code in dataclasses.py line 263
    def should_display(self, view, request) -> bool:
        """
        Check if this widget should be displayed.

        Args:
            view: The view instance
            request: The HTTP request

        Returns:
            bool: True if the widget should be displayed
        """
        if self.condition is None:
            return True
        return self.condition(view, request)

Fields

Field Type Related To
__dict__ getset_descriptor -
__weakref__ getset_descriptor -