2013-05-13 13 views
5

Próbuję skonfigurować stronę admin django dla mojej strony. dla mojego lokalnego serwera dev działa to teraz dobrze, ale kiedy pchnąłem kod na serwer i spróbowałem otworzyć stronę admin, daje mi to 500 błędów strony.Strona admin django daje mi 500 błędów w produkcji

widziałem traceback, to mówi: DoesNotExist: Site matching query does not exist.

ale nie wiem dlaczego i co się tutaj dzieje. to jest cały traceback,

http://pastebin.com/QCdGWTDq

może ktoś mógłby mi pomóc?

+0

Czy Twój plik django.fcgi dodać folder główny na ścieżce systemowej? na przykład 'path = '/ var/www/django /'' 'jeśli ścieżka nie znajduje się w sys.path:' 'sys.path.insert (0, ścieżka)' Chodzi o to, że powinien znaleźć katalog twojej witryny na tej ścieżce (np. '/ var/www/django/mysite /') – pztrick

+0

reszta strony działa, ale tylko administrator nie działa. @ Pztrick – doniyor

Odpowiedz

3

Wystarczy dodać Site obiektu poprzez Django powłoki na miejscu produkcji:

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

Gdzie example.com odpowiada nazwie domeny witryny stosowanych w produkcji.

Zwykle domyślny obiekt Site powinien zostać utworzony automatycznie po uruchomieniu polecenia syncdb, ale ja sam napotkałem przypadki, gdy z jakiegoś powodu tak się nie stało.

+0

wow, idealnie! teraz działa jak urok. Nie wiedziałem, że '' Sites'' jest uważane za to '' example.com''. miły. dziękuje dużo – doniyor

+0

, ale jeszcze jedno. po zalogowaniu się do administratora kasowanie innych identyfikatorów sesji? dlaczego to? – doniyor

+0

Nie jestem pewien, co masz na myśli. W każdym razie wygląda na niepowiązany problem, może lepiej byłoby stworzyć dla niego kolejne pytanie. – Tony