2011-05-22 27 views
19

Çalışmak için bir oauth modülünü elde etmeye çalışıyorum: manage.py reset sitesDjango_site tablosu nasıl düzeltilir?

Bu, sitemdeki yönetici ve oturum açma işlevselliğini öldürme etkisine sahipti.

Öyleyse, sorum şu: ilk kareye nasıl döneceğim ve ne kırdığımı düzelteceğim.

Yönetici aracını görüntülemeye çalışırken şu anki halim var:

DoesNotExist at /admin/ 
Site matching query does not exist. 
Request Method: GET 
Request URL: http://mdev.5buckchuck.com/admin/ 
Django Version: 1.3 
Exception Type: DoesNotExist 
Exception Value:  
Site matching query does not exist.` 

Dokümantasyona baktım ama içinde kaybolup yorgundum: http://docs.djangoproject.com/en/1.3/ref/contrib/sites/

Şunlar görünüyor: manage.py syncdb

Peki, ne yapacağımı merak ediyorum ...

+1

"Hareket etmeyi yaptım ..." Oh adam bana iyi bir göbek gülüşü verdi. Her neyse seninle aynı noktaya var, ama benim durumumda dışarı çıkış yaparak ... – eggonlegs

+0

İlgili sorun: 'SITE_ID' için ayar dosyanızı arayın, bu hata birisinin yanlış değere ayarlandığını gösterebilir. (Pk'> 1 ile hiçbir sitenin bulunmadığından şikayetçiyse, "SITE_ID" artık varsayılan değer değildir ve bunun gibi basit bir sorunu gösterebilir.) Bunun sizin sorununuza yanıt vermediğini biliyorum, ancak gelecekteki araştırmacılarla alakalı. – hangtwenty

cevap

56

ne yapacağını merak

'django.contrib.sites' 

Ayrıca eksik Site nesneyi yeniden oluşturabilirsiniz: En kolay düzeltme sizin INSTALLED_APPS aşağıdaki öğeyi kaldırmak olacağını ve hata uzağa gitmeli böylece sadece, projeden biri siteniz varsaçerçeve kabuktan. Çalıştırma python manage.py shell ve sonra:

from django.contrib.sites.models import Site 
Site.objects.create(pk=1, domain='mdev.5buckchuck.com', name='5buckchuck.com') 
+2

Büyük teşekkürler adam, ben django-allauth paketi ve ona süper duyarlı kullanarak kullanıyorum, bu yüzden geri dönmek zorunda kaldı. Çok teşekkürler. – bmartinek

+1

Bu benim için çalıştı ama neden gerekli olduğuna dair hiçbir fikrim yok. Sitenin neden başlamak için oluşturulmadığıyla ilgili herhangi bir fikir var mı? –

+0

Merhaba, ben bir "sudo rb-site install /var/www/rb.myexample.com" yaptığımda aynı konuya koşuyorum. Hata şudur: "django.contrib.sites.models.DoesNotExist: Site eşleme sorgusu mevcut değil". INSTALLED_APPS nerede? Çizgiyi önerdiğiniz gibi kaldırmak ve tekrar denemek istiyorum. Teşekkürler! – user1164061

1

django-allauth ile çalışırken bu sorundan da geçtim. Uygulama siteleri silmek için yeteneği sunuyor. SITE_ID parametresi tarafından atanan birini settings.py'da silerseniz, başka bir geçerli sitenin doğru PK'sini işaretlemeniz gerekir.

Varsayılan siteyi silerseniz example.com (değişiklikler başka bir site ekledikten sonra bazı temizleme işlemleri yaptınız), örneğin SITE_ID'yi 2'ye ayarlayarak oluşturduğunuz diğer siteyi seçmek isteyebilirsiniz. SQL veritabanı ile çalışıyorsanız, django_site tablosunu arayın ve birlikte çalışmak istediğiniz site kimliğini bulun. Bu şekilde, kabuk içine girmeye ve gerekli olmayan bir istenen alanı yeniden oluşturmaya gerek yoktur.

8

SITE_ID = 1 öğesini settings.py içinde sağlayın. Bu çalışacak.

+1

Bu işe yaradı. Teşekkürler – pyetti

+0

cheers @pyetti !! –

+0

Bazen Yönetici ile daha fazla Siteyi eklerseniz ve bazılarının her birinin bir kimliği varsa, çalışmaya başladığı DB'deki kimliği değiştirdiğimde bu benim için çalışmadı, bu nedenle SITE_ID'nin veritabanındaki kimliğe uyduğundan emin olun. Bu benim için çözüldü. – Radek

İlgili konular