wagtail-inventory
Search Wagtail pages by block type.
Wagtail Inventory adds the ability to search pages in your Wagtail site
by the StreamField block types they contain. It adds a new report to the
Wagtail admin site that allows you to search for pages that do or do not
contain certain blocks. It supports searching both by Wagtail built-in
blocks (like CharBlock
) as well as any custom blocks you might define.
Setup
Install the package using pip:
$ pip install wagtail-inventory
This will also install django-autocomplete-light.
Add dal
, dal_select2
, and wagtailinventory
as installed apps in
your Django settings:
# in settings.py
INSTALLED_APPS = (
...
'dal',
'dal_select2',
'wagtailinventory',
...
)
Run migrations to create required database tables:
$ manage.py migrate wagtailinventory
Run a management command to initialize database tables with current pages:
$ manage.py block_inventory
Admin users should now be able to search pages in the Wagtail admin site, under Reports > Block Inventory.
Other user groups may be granted access to the report by giving them the \"Can view\" \"Page block\" permission in Wagtail Group settings.
Compatibility
This code has been tested for compatibility with:
- Python 3.8+
- Django 3.2 (LTS), 4.2 (LTS), 5.0
- Wagtail 3.0+, including 5.2 (LTS) and 6.0
It should be compatible with all intermediate versions, as well. If you find that it is not, please file an issue.
Testing
Running project unit tests requires tox:
$ tox
To run the test app interactively, run:
$ tox -e interactive
Now you can visit http://localhost:8000/admin/ in a browser and log in
with admin
/ changeme
.