2009-11-07 8 views
9

Ich bin gerade dabei, von meinem Entwicklungsserver auf einen Apache-Webproduktionsserver umzusteigen.Django-App wird nicht im Admin-Interface angezeigt

Ich habe versucht, das folgende zu tun, nur indem ich es über kopiere und ich kann mich in das Admin-Panel einloggen, aber es wird nicht angezeigt.

Mein admin.py in meiner app sieht wie folgt aus:

import models 
    from django.contrib import admin 

    admin.site.register(models.Organization) 

Und hier ist mein 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) 

ich die Datenbank und neu gestartet Apache resyned habe darüber auch das könnte etwas tun.

+2

Sie haben nicht vergessen, es zu Ihrer settings.py hinzuzufügen, oder? – lemonad

+0

Ja, tat ich. Ich danke dir sehr! –

+2

Haha, ich hätte das als Antwort anstelle eines Kommentars hinzufügen sollen! :) – lemonad

Antwort

10

Sind Sie nicht wie importieren soll:

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

Ich habe das versucht und es hat immer noch nicht für mich arbeiten. Lass mich das nochmal probieren! –

+0

Ich bin gerade auf dein Modell umgestiegen und immer noch nicht. Ich denke, dass dein Modell sowieso besser ist. Es sieht viel sauberer aus und ich habe es auf anderen Seiten gesehen. Danke für den Versuch! –

+0

Wie @lemonad vorgeschlagen hat, haben Sie es zu Ihrer settings.py hinzugefügt? –

3

Für diejenigen, die diese Frage besuchen, die oben genannte Antwort funktioniert nicht direkt in der aktuellen Version von Django (1.7.7).

Die Antwort auf die obige Frage wird:

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

Für mich ist es sehr dumm Grund war. Ich habe Berechtigungen aktiviert. Der Admin-Benutzer hatte keine Berechtigung zum Zugriff auf die Modelle.

Ich gab die Erlaubnis, Benutzer admin. Es funktionierte.

+0

Ich empfehle Ihnen, Ihre Berechtigungen zu prüfen, wenn Sie eine Variante dieses Problems haben! Fast jeder Thread erwähnt Berechtigungen, aber ich war ziemlich sicher, dass mein Benutzer Superuser-Berechtigungen hatte und ich sehr falsch lag! (Nach zu langer Fehlersuche sah ich, dass site-packages/django/contrib/admin/sites.py sagte, dass ich keine Berechtigung hatte, die Modelle meiner registrierten App zu sehen. Nachdem ich die Berechtigungen zweimal überprüft hatte, hatte ich auch meinen Admin nicht erstellt Benutze einen Superuser, noch habe ich die erforderlichen Berechtigungen erhalten.) – sage

0

Ein weiterer möglicher Grund dafür, dass die App nicht in der Admin-Seite angezeigt wird, ist, dass Apache keine Berechtigungen hat. Manchmal erstellen wir eine App mit der Berechtigung, dass Apache nicht darauf zugreifen kann. Wenn Apache keinen Zugriff hat, wird es nicht angezeigt. Für Linux-Benutzer müssen App-Berechtigungen geändert werden.

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

Dieser Befehl permisson zu Apache geben rekursiv App Ordner zuzugreifen.