使用django-allauth时,如何让Django后台显示Sites模块?
解决Django Admin中看不到Sites模块的问题
Sites模块是Django核心组件django.contrib.sites的一部分,django-allauth依赖它处理站点相关逻辑(比如注册邮件里的域名)。按以下步骤操作即可解决:
确认
django.contrib.sites已加入INSTALLED_APPS
打开项目根目录的settings.py,检查INSTALLED_APPS列表是否包含'django.contrib.sites'。如果没有,添加到列表中:INSTALLED_APPS = [ # 其他已有的应用... 'django.contrib.sites', 'allauth', 'allauth.account', 'allauth.socialaccount', # 其他allauth相关应用... ]配置SITE_ID常量
在settings.py中添加或确保存在SITE_ID配置,值设为1(Django默认站点的ID):SITE_ID = 1执行数据库迁移
django.contrib.sites需要对应的数据库表支持,运行迁移命令创建或更新表:python manage.py migrate重启服务器并刷新Admin页面
关闭当前的开发服务器进程,重新启动:python manage.py runserver再次访问
127.0.0.1:8000/admin,就能看到Sites模块出现在页面中。修改站点域名
进入Sites模块,默认会有一条example.com的站点记录,修改它的域名和显示名称为你需要的内容(比如127.0.0.1:8000或生产环境域名),保存后django-allauth发送的邮件就会使用新域名。
内容的提问来源于stack exchange,提问作者m_abbott
相关产品推荐
相关产品推荐

