Wagtail 和 allauth - allauth 从 django 继承网站名称而不是 wagtail

Wagtail and allauth - allauth is inheriting site name from django not wagtail

我正在将 allauth 与鹡鸰一起使用。我在 wagtail 管理员中将我的网站命名为 'mysite',但是当注册电子邮件时提到 'example.com'

我的 settings.py 有以下顺序的应用程序

[   ...
    'django.contrib.auth',
    'django.contrib.sites',
    "allauth",
    "allauth.account",
    "allauth.socialaccount",
    "allauth.account",
    "allauth.socialaccount",
    'wagtail.contrib.forms',
    'wagtail.contrib.redirects',
    'wagtail.embeds',
    'wagtail.sites',
    'wagtail.users',
    'wagtail.snippets',
    'wagtail.documents',
    'wagtail.images',
    'wagtail.search',
    'wagtail.admin',
    'wagtail.core',
]

听起来好像这可能与此处描述的 django 和 wagtail 之间的冲突有关 https://github.com/wagtail/wagtail/issues/2840。但是看起来这个问题已经解决了,我正在使用最新版本(Django==3.2.11,django-allauth==0.47.0,wagtail==2.15.1)

这是预期的行为 - django-allauth 是一个 Django 包,而不是 Wagtail-specific 包,并且即使在 Wagtail 处于活动状态时也始终使用 Django 的站点模型。要更新站点名称,请登录到 Django 管理后端(与 Wagtail 不同——如果您使用 wagtail start 命令设置项目,则可以在 http://localhost:8000/django-admin/ 找到它)并转到网站项。

https://github.com/wagtail/wagtail/issues/2840 中修复的问题是 Wagtail 和 django-allauth 根本无法共存,因为它们都试图设置一个冲突的 request.site 变量。