Django Admin: keine App sehen (Erlaubnis Problem?)

Ich habe eine Website mit Django läuft einige benutzerdefinierte Apps. Ich war nicht mit dem Django ORM, nur die Ansicht und Vorlagen, aber jetzt muss ich einige Infos speichern, so dass ich einige Modelle in einer App erstellt und aktiviert die Admin.

Das Problem ist, wenn ich mich im Admin anmelden, sagt es einfach "Du hast keine Berechtigung, etwas zu bearbeiten", nicht einmal die Auth App zeigt auf der Seite. Ich benutze den gleichen Benutzer, der mit syncdb als Superuser erstellt wurde.

Im selben Server habe ich noch eine andere Seite, die den Admin gut macht.

Verwenden von Django 1.1.0 mit Apache / 2.2.10 mod_python / 3.3.1 Python / 2.5.2, mit psql (PostgreSQL) 8.1.11 alle in Gentoo Linux 2.6.23

Irgendwelche Ideen, wo ich eine Lösung finden kann?

Danke vielmals.

UPDATE: Es funktioniert vom Entwicklungsserver. Ich wette, das hat etwas mit einigen Dateisystem-Erlaubnis zu tun, aber ich kann es einfach nicht finden.

UPDATE2: Vhost-Konfigurationsdatei:

<Location /> SetHandler python-program PythonHandler django.core.handlers.modpython SetEnv DJANGO_SETTINGS_MODULE gpx.settings PythonDebug On PythonPath "['/var/django'] + sys.path" </Location> 

UPDATE 3: mehr Infos

  • / Var / django / gpx / init .py existiert und ist leer
  • Ich laufe python manage.py aus / var / django / gpx Verzeichnis
  • Die Seite ist GPX, eine der Apps ist bedienbar und lebt in / var / django / gpx / contable
  • Der Benutzer apache ist webdev Gruppe und alle diese Verzeichnisse und Dateien gehören zu dieser Gruppe und haben rw Erlaubnis

UPDATE 4: bestätigt, dass die Einstellungsdatei für Apache und Runserver gleich ist (umbenannt und beide brach)

UPDATE 5: / var / django / gpx / contable / init .py existiert

Dies ist der relevante Teil von urls.py:

 urlpatterns = patterns('', (r'^admin/', include(admin.site.urls)), ) urlpatterns += patterns('gpx', (r'^$', 'menues.views.index'), (r'^adm/$', 'menues.views.admIndex'), 

6 Solutions collect form web for “Django Admin: keine App sehen (Erlaubnis Problem?)”

Hoffentlich hilft das jemandem, aber wir hatten das gleiche Problem, weil jemand ein anderes Authentifizierungs-Backend zu settings.py hinzugefügt hat und nicht die Standard-ModelBackend behalten hat. Ändern der Einstellung zu:

 AUTHENTICATION_BACKENDS = ( 'auth.authentication.EmailBackend', 'django.contrib.auth.backends.ModelBackend', ) 

Behoben für uns.

Es klingt, als hättest du keine apps mit dem admin registriert (Schritt 5 in dieser Übersicht ).

Versuchen Sie, die Zeile admin.autodiscover() zu Ihrem Haupt-Urls.py hinzuzufügen, und achten Sie darauf, from django.contrib import admin zuerst zu tun.

Beispielsweise:

 # Other imports... from django.contrib import admin admin.autodiscover() urlpatterns = patterns('', ('^admin/', include(admin.site.urls)), # Other URL patterns... ) 

Sie können Ihre Modelle auch einzeln mit admin.site.register(YourModel) .

Versuchen Sie, auf Ihre Datenbank zuzugreifen und in der Tabelle auth_user stellen Sie sicher, dass die fiels is_staff, is_active und is_superuser als true (1) für Ihren Benutzer markiert sind.

Stellen Sie sicher, dass Sie Ihre Anwendung auf settings.INSTALLED_APPS hinzugefügt haben.

Die Django-Vorlage für die Admin-App-Index-Seite lautet:

 {% if app_list %} {% for app in app_list %} ... {% else %} <p>{% trans "You don't have permission to edit anything." %}</p> {% endif %} 

Das muss dein Problem sein.


EDIT: Entweder das oder du bist nicht angemeldet als der Benutzer du sagst du bist. Können Sie in die Datenbank schauen und sicherstellen, dass der auth_user.is_superuser für den Benutzer in Frage hat einen Wert von 1?


EDIT: Wenn der Benutzer is_staff und is_superuser als 1 im DB markiert sind und du bist sicher, dass du als Benutzer angemeldet bist. Ist es möglich, dass man das nur in der Produktion (dh unter Apache) sieht und dass deine Einstellungen.Py für die Produktion anders ist als in der Entwicklung?


EDIT: Also hast du ein anderes Verhalten in dev und Produktion. Ich kann an zwei Szenarien denken:

A) Sie haben eine andere settings.py für die Produktion. Können Sie Ihre Frage mit dem relevanten Teil Ihrer httpd.conf bearbeiten? Es sollte so etwas wie:

 <Location "/mysite/"> SetHandler python-program PythonHandler django.core.handlers.modpython SetEnv DJANGO_SETTINGS_MODULE mysite.settings PythonOption django.root /mysite PythonDebug On </Location> 

Was ist dein PYTHONPATH?

Was sagt die SetEnv-Linie? Ist es auf das gleiche Modul, das Sie in der Entwicklung haben? Sind Sie sicher in Ihrem PYTHONPATH haben Sie mysite.settings als die Datei, die Sie denken, Sie haben?

B) Sie haben ein PYTHONPATH Problem in der Produktion und die Apps können nicht gefunden werden. Dies sollte einen viel schwereren Fehler erzeugen …


Fragen:

  • / Var / django / gpx hat eine init .py richtig?
  • /var/django/gpx/settings.py ist die gleiche Datei verwendet, wie wenn Sie verwalten.py runserver?
  • Wie lautet der Name Ihrer App bei / var / django /?
  • Ist der Benutzer, auf dem du gehst, hat Apache unter Berechtigungen für alle diese Verzeichnisse?

Bei der Installation von django 1.1 über eine alte Installation von django 0.96 stießen wir auf das gleiche Problem

Es wurde gelöst, als wir eine Neuinstallation machten

Ich hatte das gleiche Problem, meine Einstellungsdatei war wie folgt:

  PROJECT_APPS = ( 'app1', 'app2', ) INSTALLED_APPS = ( 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.admin', 'django.contrib.flatpages', # django-allauth settings 'allauth', 'allauth.account', 'allauth.socialaccount', # auth providers 'allauth.socialaccount.providers.facebook', 'storages', 'compressor', 'south', 'gunicorn', 'kombu.transport.django', 'djcelery', 'django_nose', 'raven.contrib.django.raven_compat', 'djrill', 'django_newsfeed' ) + PROJECT_APPS 

Ich habe vergessen , nach django_newsfeed

  • Wie man automatisch den aktuellen Benutzer beim Erstellen eines Objekts in django admin einfügt?
  • Bearbeiten des Modells ForeignKey als Inline in der Django-Administration?
  • Django admin und Miniaturbilder anzeigen
  • Such_fields in django python
  • Gruppierung CheckboxSelectMultiple Optionen in Django
  • Ist Django admin schwierig, sich anzupassen?
  • Gibt es eine get_form-Methode, die für InlineModelAdmin äquivalent ist?
  • Fütterung einer aktuellen Filterauswahl zu einem anderen benutzerdefinierten SimpleListFilter in Django
  • Dynamische Formen in django-admin
  • Django-Admin-Datei-Upload mit aktueller Modell-ID
  • Infinte-Rekursion bei der Erweiterung der App-Change_form-Vorlage des Admin
  • Python ist die beste Programmiersprache der Welt.