2013-04-17 48 views
5

我試圖讓我的應用程序的管理網站在Django工作。我只是同步數據庫,然後去了網站,但我得到的錯誤...Django - 網站匹配查詢不存在

Site matching query does not exist. 

任何想法?

+1

這是一個重複的問題http://stackoverflow.com/questions/11476210/getting-site-matching-query-does-not-exist-error-after-creating-django-admin –

+0

可能重複的[獲取網站匹配查詢不存在錯誤後創建django管理員](https://stackoverflow.com/questions/11476210/getting-site-matching-query-does-not-exist-error-after-creating-django-admin) –

回答

22

每個django應用程序需要運行一個Site。在這裏,你似乎沒有它。

登錄到你的Django殼

$> ./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() 

您應該所有設置。

+0

如何/應該通過設置文件添加嗎? – felix001

+0

您無法通過設置添加它。執行'./manage.py shell'並執行這些命令 – karthikr

+0

好的,謝謝我只是想知道爲什麼我的應用程序沒有這個。在Django中域也有什麼參考。再次感謝... – felix001

4

您還需要確保網站域與您實際使用的網站域相同。例如,如果你是從http://127.0.0.1:8000/admin/訪問管理網站,那麼你的site.domain應該是:site.domain ='127.0.0.1:8000'。

0

在django中添加django.contrib.siteINSTALLED_APPS和 還在您的django設置文件中添加SITE_ID=1