2009-11-07 19 views
9

W tej chwili przechodzę z serwera programistycznego do serwera produkcyjnego Apache.Aplikacja Django nie wyświetla się w interfejsie administratora

Próbowałem wykonać następujące czynności, po prostu kopiując go i mogę zalogować się do panelu administratora, ale nie pokazuje się.

Moja admin.py w mojej aplikacji wygląda następująco:

import models 
    from django.contrib import admin 

    admin.site.register(models.Organization) 

I tu jest moje models.py

from django.db import models 

class Organization(models.Model): 
    name = models.CharField(max_length=100) 
    website = models.URLField() 
    azon_code = models.CharField(max_length=50) 
    gooe_code = models.CharField(max_length=50) 
    cj_code = models.CharField(max_length=50) 

Mam resyned bazy danych i ponownym uruchomieniu apache, jak również myśli, że może Zrób coś.

+2

Nie zapomniałeś dodać go do swojego settings.py, prawda? – lemonad

+0

Tak, zrobiłem. Dziękuję bardzo! –

+2

Haha, powinienem dodać to jako odpowiedź zamiast komentarza! :) – lemonad

Odpowiedz

10

Czy nie powinien importować jak:

from mysite.myapp.models import Organization 
admin.site.register(Organization) 
+0

Próbowałem tego i nadal nie działało dla mnie. Pozwól mi spróbować jeszcze raz! –

+0

Właśnie przełączyłem się na Twój model i nadal nie mogę odejść. Myślę, że twój model i tak jest lepszy. Wygląda o wiele czystsze i tak widziałem to na innych stronach. Dzięki za próbę! –

+0

jak sugerował @lemonad, dodałeś go do swojego settings.py? –

3

Dla tych, którzy odwiedzają to pytanie, powyższa odpowiedź nie działa bezpośrednio w aktualnej wersji Django (1.7.7).

Odpowiedź na powyższe pytanie będzie:

from myapp.models import Organization 
admin.site.register(Organization) 
3

Dla mnie to było bardzo głupie powód. Mam włączone uprawnienia. Administrator nie miał uprawnień dostępu do modeli.

Podałem uprawnienia użytkownikowi administratora. Zadziałało.

+0

Zalecam, aby oczy wpatrywać się w uprawnienia, jeśli masz wariant tego problemu! Prawie każdy wątek wspomina o uprawnieniach, ale byłem pewien, że mój użytkownik ma uprawnienia administratora i bardzo się myliłem! (Po zbyt długim rozwiązywaniu problemów zobaczyłem, że pakiety site/packages/django/contrib/admin/sites.py mówiły, że nie mam uprawnień do przeglądania modeli mojej zarejestrowanej aplikacji. Po sprawdzeniu uprawnień, nie utworzyłem też mojego administratora użytkownik superużytkownikiem, ani nie podałem wymaganych uprawnień.) – sage

0

Innym możliwym powodem nie pokazywania aplikacji na stronie administratora jest Apache nie ma uprawnień. Czasami tworzymy aplikację z uprawnieniami, że Apache nie może uzyskać do niej dostępu. Jeśli Apache nie ma dostępu, nie wyświetli się. Użytkownicy Linuksa wymagają zmiany uprawnień aplikacji.

sudo chown -R www-data:www-data app_name 

Komenda da permisson do Apache dostęp do folderu aplikacji rekurencyjnie.

Powiązane problemy