You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django Admin面板访问异常:链接失效及Site匹配查询不存在错误求助

原因及解决方法

核心原因

这个错误本质是Django的django.contrib.sites框架找不到匹配的Site实例,Admin面板依赖该组件关联站点配置,缺失时就会抛出此异常。

具体解决步骤

1. 确认django.contrib.sites在INSTALLED_APPS中

打开项目根目录的settings.py,检查INSTALLED_APPS是否包含该应用:

INSTALLED_APPS = [
    ...
    'django.contrib.sites',
    ...
]

若未添加,直接将其加入列表。

2. 设置SITE_ID配置项

在settings.py中添加或指定SITE_ID:

SITE_ID = 1

该值对应数据库django_site表的id字段,默认初始数据的id为1。

3. 同步数据库生成Site数据

如果是首次配置,执行迁移命令生成django_site表并插入默认站点数据:

python manage.py migrate

若已执行过迁移但数据丢失,可通过以下方式恢复:

  • 方式一:通过shell手动创建实例
    运行python manage.py shell,执行代码:
from django.contrib.sites.models import Site
Site.objects.create(domain='localhost:8000', name='localhost:8000')
  • 方式二:加载初始数据文件
    若项目有站点初始数据,运行:
python manage.py loaddata sites

4. 检查自定义Admin配置(可选)

如果自定义了Admin站点类,确保没有破坏默认的Site关联逻辑,比如不要遗漏site_header等依赖站点的配置项,或确保正确关联了Site实例。

内容的提问来源于stack exchange,提问作者mohammad Umer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 02:17:01