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
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 |
- |