Viewsets¶
Viewsets are Wagtail’s mechanism for defining a group of related admin views with shared properties, as a single unit. See Generic views.
ViewSet¶
- class wagtail.admin.viewsets.base.ViewSet(name, **kwargs)¶
Defines a viewset to be registered with the Wagtail admin.
- Parameters:
name – A name for this viewset, used as the URL namespace.
url_prefix – A URL path element, given as a string, that the URLs for this viewset will be found under. Defaults to the same as
name
.
All other keyword arguments will be set as attributes on the instance.
- on_register()¶
Called when the viewset is registered; subclasses can override this to perform additional setup.
- get_urlpatterns()¶
Returns a set of URL routes to be registered with the Wagtail admin.
- get_url_name(view_name)¶
Returns the namespaced URL name for the given view.
ModelViewSet¶
- class wagtail.admin.viewsets.model.ModelViewSet(name, **kwargs)¶
A viewset to allow listing, creating, editing and deleting model instances.
- model¶
Required; the model class that this viewset will work with.
- form_fields¶
A list of model field names that should be included in the create / edit forms.
- exclude_form_fields¶
Used in place of
form_fields
to indicate that all of the model’s fields except the ones listed here should appear in the create / edit forms. Eitherform_fields
orexclude_form_fields
must be supplied (unlessget_form_class
is being overridden).- get_form_class(for_update=False)¶
Returns the form class to use for the create / edit forms.
- icon = ''¶
The icon to use to represent the model within this viewset.
- index_view_class = <class 'wagtail.admin.views.generic.models.IndexView'>¶
The view class to use for the index view; must be a subclass of
wagtail.admin.views.generic.IndexView
.
- add_view_class = <class 'wagtail.admin.views.generic.models.CreateView'>¶
The view class to use for the create view; must be a subclass of
wagtail.admin.views.generic.CreateView
.
- edit_view_class = <class 'wagtail.admin.views.generic.models.EditView'>¶
The view class to use for the edit view; must be a subclass of
wagtail.admin.views.generic.EditView
.
- delete_view_class = <class 'wagtail.admin.views.generic.models.DeleteView'>¶
The view class to use for the delete view; must be a subclass of
wagtail.admin.views.generic.DeleteView
.
ChooserViewSet¶
- class wagtail.admin.viewsets.chooser.ChooserViewSet(*args, **kwargs)¶
A viewset that creates a chooser modal interface for choosing model instances.
- model¶
Required; the model class that this viewset will work with.
- icon = 'snippet'¶
The icon to use in the header of the chooser modal, and on the chooser widget
- choose_one_text = 'Choose'¶
Label for the ‘choose’ button in the chooser widget when choosing an initial item
- page_title = None¶
Title text for the chooser modal (defaults to the same as
choose_one_text
)`
- choose_another_text = 'Choose another'¶
Label for the ‘choose’ button in the chooser widget, when an item has already been chosen
- edit_item_text = 'Edit'¶
Label for the ‘edit’ button in the chooser widget
- per_page = 10¶
Number of results to show per page
- choose_view_class = <class 'wagtail.admin.views.generic.chooser.ChooseView'>¶
The view class to use for the overall chooser modal; must be a subclass of
wagtail.admin.views.generic.chooser.ChooseView
.
- choose_results_view_class = <class 'wagtail.admin.views.generic.chooser.ChooseResultsView'>¶
The view class used to render just the results panel within the chooser modal; must be a subclass of
wagtail.admin.views.generic.chooser.ChooseResultsView
.
- chosen_view_class = <class 'wagtail.admin.views.generic.chooser.ChosenView'>¶
The view class used after an item has been chosen; must be a subclass of
wagtail.admin.views.generic.chooser.ChosenView
.
- create_view_class = <class 'wagtail.admin.views.generic.chooser.CreateView'>¶
The view class used to handle submissions of the ‘create’ form; must be a subclass of
wagtail.admin.views.generic.chooser.CreateView
.
- base_widget_class = <class 'wagtail.admin.widgets.chooser.BaseChooser'>¶
The base Widget class that the chooser widget will be derived from.
- widget_class¶
Returns the form widget class for this chooser.
- widget_telepath_adapter_class = None¶
The adapter class used to map the widget class to its JavaScript implementation - see Form widget client-side API. Only required if the chooser uses custom JavaScript code.
- register_widget = True¶
Defaults to True; if False, the chooser widget will not automatically be registered for use in admin forms.
- base_block_class = <class 'wagtail.blocks.field_block.ChooserBlock'>¶
The base ChooserBlock class that the StreamField chooser block will be derived from.
- get_block_class(name=None, module_path=None)¶
Returns a StreamField ChooserBlock class using this chooser.
- Parameters:
name – Name to give to the class; defaults to the model name with “ChooserBlock” appended
module_path – The dotted path of the module where the class can be imported from; used when deconstructing the block definition for migration files.
- creation_form_class = None¶
Form class to use for the form in the “Create” tab of the modal.
- form_fields = None¶
List of model fields that should be included in the creation form, if creation_form_class is not specified.
- exclude_form_fields = None¶
List of model fields that should be excluded from the creation form, if creation_form_class. If none of
creation_form_class
,form_fields
orexclude_form_fields
are specified, the “Create” tab will be omitted.
- create_action_label = 'Create'¶
Label for the submit button on the ‘create’ form
- create_action_clicked_label = None¶
Alternative text to display on the submit button after it has been clicked
- creation_tab_label = None¶
Label for the ‘create’ tab in the chooser modal (defaults to the same as create_action_label)
- search_tab_label = 'Search'¶
Label for the ‘search’ tab in the chooser modal
SnippetViewSet¶
- class wagtail.snippets.views.snippets.SnippetViewSet(name, **kwargs)¶
A viewset that instantiates the admin views for snippets.
- list_display = None¶
A list or tuple, where each item is either:
The name of a field on the model;
The name of a callable or property on the model that accepts a single parameter for the model instance; or
An instance of the
wagtail.admin.ui.tables.Column
class.
If the name refers to a database field, the ability to sort the listing by the database column will be offerred and the field’s verbose name will be used as the column header.
If the name refers to a callable or property, a
admin_order_field
attribute can be defined on it to point to the database column for sorting. Ashort_description
attribute can also be defined on the callable or property to be used as the column header.This list will be passed to the
list_display
attribute of the index view. If left unset, thelist_display
attribute of the index view will be used instead, which by default is defined as["__str__", wagtail.admin.ui.tables.UpdatedAtColumn()]
.
- filterset_class = None¶
A subclass of
wagtail.admin.filters.WagtailFilterSet
, which is a subclass of django_filters.FilterSet. This will be passed to thefilterset_class
attribute of the index view.
- index_view_class = <class 'wagtail.snippets.views.snippets.IndexView'>¶
The view class to use for the index view; must be a subclass of
wagtail.snippet.views.snippets.IndexView
.
- add_view_class = <class 'wagtail.snippets.views.snippets.CreateView'>¶
The view class to use for the create view; must be a subclass of
wagtail.snippet.views.snippets.CreateView
.
- edit_view_class = <class 'wagtail.snippets.views.snippets.EditView'>¶
The view class to use for the edit view; must be a subclass of
wagtail.snippet.views.snippets.EditView
.
- delete_view_class = <class 'wagtail.snippets.views.snippets.DeleteView'>¶
The view class to use for the delete view; must be a subclass of
wagtail.snippet.views.snippets.DeleteView
.
- usage_view_class = <class 'wagtail.snippets.views.snippets.UsageView'>¶
The view class to use for the usage view; must be a subclass of
wagtail.snippet.views.snippets.UsageView
.
- history_view_class = <class 'wagtail.snippets.views.snippets.HistoryView'>¶
The view class to use for the history view; must be a subclass of
wagtail.snippet.views.snippets.HistoryView
.
- revisions_view_class = <class 'wagtail.snippets.views.snippets.PreviewRevisionView'>¶
The view class to use for previewing revisions; must be a subclass of
wagtail.snippet.views.snippets.PreviewRevisionView
.
- revisions_revert_view_class¶
The view class to use for reverting to a previous revision.
By default, this class is generated by combining the edit view with
wagtail.admin.views.generic.mixins.RevisionsRevertMixin
. As a result, this class must be a subclass ofwagtail.snippet.views.snippets.EditView
and must handle the reversion correctly.
- revisions_compare_view_class = <class 'wagtail.snippets.views.snippets.RevisionsCompareView'>¶
The view class to use for comparing revisions; must be a subclass of
wagtail.snippet.views.snippets.RevisionsCompareView
.
- unpublish_view_class = <class 'wagtail.snippets.views.snippets.UnpublishView'>¶
The view class to use for unpublishing a snippet; must be a subclass of
wagtail.snippet.views.snippets.UnpublishView
.
- preview_on_add_view_class = <class 'wagtail.admin.views.generic.preview.PreviewOnCreate'>¶
The view class to use for previewing on the create view; must be a subclass of
wagtail.snippet.views.snippets.PreviewOnCreateView
.
- preview_on_edit_view_class = <class 'wagtail.admin.views.generic.preview.PreviewOnEdit'>¶
The view class to use for previewing on the edit view; must be a subclass of
wagtail.snippet.views.snippets.PreviewOnEditView
.