On 2025-08-01 01:37, Mark Sapiro wrote:

     raise self.model.DoesNotExist(
django.contrib.sites.models.Site.DoesNotExist: Site matching query does not exist.


That error will occur when settings.py contains

SITE_ID = 0

and the host in the http request is not one of the hosts in the
django_site table in the database or in Sites in the Django admin web
UI.
Is that possibly the case here?


The SITE_ID and database table check okay. The SITE_ID is supposed to be "0"? No?

SITE_ID
Test server - settings.py: SITE_ID = 0
Prod server - settings.py: SITE_ID = 0

HTTP_HOST
Test server DB - mailmanweb.django_site table: domain and name fields OK
Prod server DB - mailmanweb.django_site table: domain and name fields OK

And the hosts are displayed in Sites in the admin UI.

I also checked the ALLOWED_HOSTS in the Test and Prod servers. Both have:

...
"localhost",
"127.0.0.1",
"<IP4 ADDRESS OF HOST>",
"<MY.DOMAIN.COM>"
"<OTHER.DOMAINNAME.COM>",
...


Is there a complete traceback preceding the log snippet you report. If
so, what is it?

The traceback does suggest that the SITE does not exist...

======================= TRACEBACK =====================

Traceback (most recent call last):
File "/opt/mailman/venv/lib/python3.11/site-packages/django/contrib/sites/models.py", line 39, in _get_site_by_request
    SITE_CACHE[host] = self.get(domain__iexact=host)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/manager.py", line 87, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py", line 637, in get
    raise self.model.DoesNotExist(
django.contrib.sites.models.Site.DoesNotExist: Site matching query does not exist.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/opt/mailman/venv/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner
    response = get_response(request)
               ^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/django/core/handlers/base.py", line 197, in _get_response response = wrapped_callback(request, *callback_args, **callback_kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/mailman/venv/lib/python3.11/site-packages/postorius/views/list.py", line 1158, in list_index
    return render(
           ^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/django/shortcuts.py", line 24, in render content = loader.render_to_string(template_name, context, request, using=using) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/mailman/venv/lib/python3.11/site-packages/django/template/loader.py", line 62, in render_to_string
    return template.render(context, request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/django/template/backends/django.py", line 61, in render
    return self.template.render(context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/django/template/base.py", line 173, in render
    with context.bind_template(self):
  File "/usr/lib/python3.11/contextlib.py", line 137, in __enter__
    return next(self.gen)
           ^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/django/template/context.py", line 254, in bind_template
    updates.update(processor(self.request))
                   ^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/django_mailman3/context_processors.py", line 32, in common
    context["site_name"] = get_current_site(request).name
                           ^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/django/contrib/sites/shortcuts.py", line 16, in get_current_site
    return Site.objects.get_current(request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/django/contrib/sites/models.py", line 61, in get_current
    return self._get_site_by_request(request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/django/contrib/sites/models.py", line 45, in _get_site_by_request
    SITE_CACHE[domain] = self.get(domain__iexact=domain)
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/manager.py", line 87, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py", line 637, in get
    raise self.model.DoesNotExist(
django.contrib.sites.models.Site.DoesNotExist: Site matching query does not exist. ERROR 2025-08-01 05:21:46,176 2030595 django.request Internal Server Error: /owa/auth/logon.aspx ERROR 2025-08-01 05:21:46,176 2030595 django.request Internal Server Error: /owa/auth/logon.aspx

============= END TRACEBACK =================



...  -- "whatever is proxying to Django setting the appropriate HTTP_HOST header." -- which I don't understand.

This is in the configuration of the web server. It should be
configured to pass the host of the incoming request to the proxy
target in the HTTP_HOST header. In nginx this is `proxy_set_header
Host $host;`. In apache it is `ProxyPreserveHost On`, but again the
change to user_adapter shouldn't affect this.


That all looks good for both the Prod and Test servers.

...
   location /static/ {
        alias /opt/mailman/web/static/;
   }

   location / {
           proxy_pass http://127.0.0.1:8000;
           proxy_set_header Host $host;
           proxy_set_header X-Forwarded-For $remote_addr;
   }
...



_______________________________________________
Mailman-users mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://lists.mailman3.org/mailman3/lists/mailman-users.mailman3.org/
Archived at: 
https://lists.mailman3.org/archives/list/[email protected]/message/Q25Q7VPR4RD74BK46UZUXU75PKGYCJHN/

This message sent to [email protected]

Reply via email to