2024-04-20 01:13:29 发布
网友
我将通过标准的Django教程为应用程序创建一个管理员。在“设置”中评论与管理员相关的内容并运行syncdb后,我收到以下消息:
DoesNotExist at /admin/ Site matching query does not exist.
有人能帮我弄清楚吗?
除了Simeon Visser对仍有问题的用户的回答外,还要确保设置中的SITE_ID变量与新创建的Site-对象的ID匹配。
SITE_ID
Site
当您将django.contrib.sites包含到已安装的U应用程序中并运行命令“python manage.py migrate”时,应用程序会自动将对象创建到“django U site”表中(域名和显示名等于“example.com”)。不需要你自己创造。
可能您只需要将设置SITE_ID=1添加到settings.py文件。
Django项目的Site对象丢失。每个Django项目都有一个包含站点名称和域的Site对象。它通常是在创建Django项目时自动创建的(特别是当syncdb命令运行时),但在您的情况下,它似乎并没有发生。
syncdb
要修复它:
打开站点的Django shell(python manage.py shell)。
python manage.py shell
键入以下内容:
>>> from django.contrib.sites.models import Site >>> Site.objects.create(name='example.com', domain='example.com')
如果以后要更改这些值,请转到管理面板(/admin/),然后在Sites部分编辑站点对象。
/admin/
Sites
除了Simeon Visser对仍有问题的用户的回答外,还要确保设置中的
SITE_ID
变量与新创建的Site
-对象的ID匹配。当您将django.contrib.sites包含到已安装的U应用程序中并运行命令“python manage.py migrate”时,应用程序会自动将对象创建到“django U site”表中(域名和显示名等于“example.com”)。不需要你自己创造。
可能您只需要将设置SITE_ID=1添加到settings.py文件。
Django项目的
Site
对象丢失。每个Django项目都有一个包含站点名称和域的Site
对象。它通常是在创建Django项目时自动创建的(特别是当syncdb
命令运行时),但在您的情况下,它似乎并没有发生。要修复它:
打开站点的Django shell(
python manage.py shell
)。键入以下内容:
如果以后要更改这些值,请转到管理面板(
/admin/
),然后在Sites
部分编辑站点对象。相关问题 更多 >
编程相关推荐