32

我试图让我在 Django 中的应用程序的管理站点正常工作。我刚刚同步了数据库,然后去了该网站,但我得到了错误......

Site matching query does not exist.

有任何想法吗 ?

4

5 回答 5

51

每个 django 应用程序都需要Site运行。在这里你似乎没有它。

登录到你的 django shell

$> ./manage.py shell
>>> from django.contrib.sites.models import Site
>>> site = Site()
>>> site.domain = 'example.com'
>>> site.name = 'example.com'
>>> site.save()

或者

$> ./manage.py shell
>>> from django.contrib.sites.models import Site
>>> site = Site.objects.create(domain='example.com', name='example.com')
>>> site.save()

你应该准备好了。

于 2013-04-17T19:28:16.723 回答
36

添加django.contrib.sitesdjangoINSTALLED_APPS并添加SITE_ID=1您的 django 设置文件。

于 2018-02-21T20:12:37.340 回答
11

添加SITE_ID=1settings.py 对我有用。

于 2020-08-08T08:22:02.787 回答
9

您还需要确保站点域与您实际使用的域相同。例如,如果您正在从http://127.0.0.1:8000/admin/访问管理站点,那么您的 site.domain 应该是:site.domain = '127.0.0.1:8000'。

于 2015-12-05T23:20:32.777 回答
1

在settings.py中试试这个:

SITE_ID = 1
于 2021-08-02T20:47:38.967 回答