Skip to main content

A Wagtail admin report listing every page comment in one place.

Project description

wagtail-comments-report

A Wagtail admin report that lists every page comment across the site in one place, with filters and dedup.

Why

Wagtail puts comments inside each page's edit view. There is no built-in way to scan all open comments across the whole site, which makes it easy to forget about open threads on pages you rarely touch.

This package adds a Comments entry under Reports in the Wagtail admin showing:

  • Comment text, page, author, date, and Open / Resolved status, ordered newest first.
  • Filters: author, page, date range, and a tri-state Status (Open / Resolved / All) that defaults to Open so editors land on outstanding comments first.
  • CSV / XLSX export (provided by Wagtail's SpreadsheetExportMixin).
  • Automatic deduplication of Comment rows that Wagtail can stash at the same (page, user, contentpath) as a side effect of revision saves — only the most recent row per logical comment is shown.

Install

pip install wagtail-comments-report

Add the app to INSTALLED_APPS (after wagtail.admin so the report URLs and menu hooks are picked up):

INSTALLED_APPS = [
    # ...
    "wagtail.admin",
    "wagtail",
    "wagtail_comments_report",
    # ...
]

No migrations are required — the report reads wagtail.models.Comment directly.

Configuration

None required. The report appears under Reports > Comments in the Wagtail admin to any user with admin access.

The status filter defaults to Open. To link directly to all comments (or only resolved), pass ?status=all or ?status=resolved on the URL.

Compatibility

The package itself has no hard pins on Django or Wagtail — pip will install on whatever you've got. What's actively tested in CI (defined in pyproject.toml under [tool.hatch.envs.hatch-test]):

  • Python 3.10, 3.11, 3.12, 3.13, 3.14
  • Django 5.2 and 6.0
  • Wagtail 6.4+ (with Django 5.2) and Wagtail 7.x (with Django 5.2 or 6.0)
  • Postgres or SQLite (the dedup uses portable Max("id") aggregation, not DISTINCT ON)

Combinations not exercised: Django 6 needs Python 3.12+, and Wagtail 6 doesn't run on Django 6. The matrix excludes those.

It will probably work on older Wagtail/Django too — those just aren't in the matrix. If you find a real incompatibility, open an issue or a PR with a CI matrix entry.

Development

The test matrix is managed by Hatch and defined in pyproject.toml under [tool.hatch.envs.hatch-test]. The fastest way to drive it is with uv:

# run the full matrix (note --all; without it hatch only runs ONE env)
uvx hatch test --all

# run one cell
uvx hatch test --include "python=3.13" --include "wagtail=7"

# filter pytest across the whole matrix
uvx hatch test --all -k test_report_dedupes

# lint
uvx hatch fmt --check

If you'd rather skip the matrix and just run pytest in one interpreter:

uv sync --extra test
uv run pytest src/

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wagtail_comments_report-1.0.0.tar.gz (7.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wagtail_comments_report-1.0.0-py3-none-any.whl (8.0 kB view details)

Uploaded Python 3

File details

Details for the file wagtail_comments_report-1.0.0.tar.gz.

File metadata

  • Download URL: wagtail_comments_report-1.0.0.tar.gz
  • Upload date:
  • Size: 7.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for wagtail_comments_report-1.0.0.tar.gz
Algorithm Hash digest
SHA256 bc02c7b451598f88dde9f2257811243f67822a241cb0327d96632997f99d49da
MD5 c01810453f4ce54d0e97d0046bc6507f
BLAKE2b-256 ffbbce0c706265135b64cc4808e7b20f4ce44bad94f71decfd15a34a41e5b4aa

See more details on using hashes here.

Provenance

The following attestation bundles were made for wagtail_comments_report-1.0.0.tar.gz:

Publisher: release.yml on bartTC/wagtail-comments-report

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file wagtail_comments_report-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for wagtail_comments_report-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a088ada165a5bc7f28d8bf8f80be4d49d105d787a6768798f729f975532156d5
MD5 7a8b041cb8b06392178066ae30139231
BLAKE2b-256 f14eba971ae245db88e16da81347f5f129cdc18dc357610cd5c86ba094ac039b

See more details on using hashes here.

Provenance

The following attestation bundles were made for wagtail_comments_report-1.0.0-py3-none-any.whl:

Publisher: release.yml on bartTC/wagtail-comments-report

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page