2013-04-17 28 views
5

Uygulamamın yönetim sitesini Django çalışmasında almaya çalışıyorum. Ive sadece ...Django - Site eşleşen sorgu yok

Site matching query does not exist. 

Herhangi fikirleri DB sync`d ve sonra siteye gitmiş ama hata alıyorum?

+1

bir yinelenen soru http://stackoverflow.com/questions/11476210/getting-site-matching-query-does-not-exist-error-after-creating-django-admin var –

+0

[Alma Sitesi Eşleştirme Olası yinelenen Sorgu, django yöneticisi oluşturulduktan sonra mevcut değil] (https://stackoverflow.com/questions/11476210/getting-site-matching-query-does-not-exist-error-after-creating-django-admin) –

cevap

22

Her django uygulamasının çalışması için bir Site gerekir. İşte buna sahip değilsiniz. senin django içine

Günlüğü Hazır mısın olmalıdır

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

veya

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

kabuk.

+0

Nasıl olurdu?/Bu ayar dosyası üzerinden eklenmeli mi? – felix001

+0

Ayarlar yoluyla ekleyemezsiniz. ''/manage.py shell' yapın ve bu komutları çalıştırınız – karthikr

+0

Tamam teşekkürler, sadece uygulamamın neden buna sahip olmadığını merak ettim. Ayrıca alan Django içinde hangi referansı var. Tekrar teşekkürler ... – felix001

4

Ayrıca, site etki alanının gerçekte kullandığınız ile aynı olduğundan emin olmanız gerekir. Örneğin, admin sitesine http://127.0.0.1:8000/admin/'dan erişiyorsanız, site.alanınız şöyle olmalıdır: site.domain = '127.0.0.1:8000'.

0

django INSTALLED_APPS içinde django.contrib.site ekleyin ve da Django ayar dosyasında SITE_ID=1 ekleyin.