Django - 站点匹配查询不存在

Ric*_*ckD 10 python django django-models

我试图让我的应用程序的管理网站在Django工作.我只是同步数据库,然后去了网站,但我收到错误...

Site matching query does not exist.
Run Code Online (Sandbox Code Playgroud)

有任何想法吗 ?

kar*_*ikr 30

每个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()
Run Code Online (Sandbox Code Playgroud)

要么

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

你应该全力以赴.


小智 11

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


Jus*_*ill 10

添加django.contrib.sitedjango INSTALLED_APPS并添加SITE_ID=1你的django设置文件.


小智 5

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


小智 5

在settings.py中尝试一下:

SITE_ID = 1
Run Code Online (Sandbox Code Playgroud)