Philip Colmer writes:
Looking at the packaging for mailman-web and mailman-hyperkitty, the former (https://gitlab.com/mailman/mailman-web) specifies "django >=2.2, !=3.0, <4"
This is the relevant requirement, mailman-web is what actually configures django for use by HyperKitty and Postorius.
and the latter (https://gitlab.com/mailman/mailman-hyperkitty/) doesn't seem to specify a django version requirement.
IIRC, mailman-hyperkitty is the small Python module that enables core to send posts to a hyperkitty. That module has nothing to do with Django.
There is a separate Hyperkitty project (https://gitlab.com/mailman/hyperkitty) which has added support for Django 4 but that doesn't seem to be what is installed by following the instructions at https://docs.mailman3.org/en/latest/install/virtualenv.html
This is all very confused (lots of duplication across several project and multiple documented configurations requiring slightly different lists of projects for installation), and we need to clean it up. We're aware of it, but cleaning up is hard because it means that sources for people's existing installations are going to disappear. Also, mailman/hyperkitty is the actual implementation of HyperKitty, and I don't think Django 4 support is considered anything like stable yet, which is why mailman-web doesn't allow it.
Volunteers to identify duplication and help with deduplication welcome! ;-)