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

  • Inline-Bearbeitung von ManyToMany-Relation in Django
  • So begrenzen Sie die Auswahlfeldoptionen auf der Grundlage eines anderen Auswahlfeldes in django admin
  • Django InlineModelAdmin: Zeigen Sie teilweise ein Inline-Modell und verknüpfen Sie mit dem kompletten Modell
  • Django Admin Performance Problem
  • Django 1.7 - Aktualisierung von base_site.html funktioniert nicht
  • Django Admin-Schnittstelle: mit horizontal_filter mit Inline ManyToMany Feld
  • Django - Wie man admin Formularfelder vorbereitet
  • Kann "list_display" in einem Django ModelAdmin Display Attribute von ForeignKey Felder?
  • Ist Django admin schwierig, sich anzupassen?
  • Django-Modellfeld-Standard basierend auf einem anderen Modellfeld
  • Django Admin - mache alle Felder readonly
  • Python ist die beste Programmiersprache der Welt.