2013-07-31 14 views
5

django 1.5.1 django cms 2.4.2django-cms Benutzer kann keine Seiten hinzufügen

ich gerade lerne django-cms und arbeite an meinem ersten Test-Site. Ich habe diese Seite durchsucht und nach diesen Fragen gegoogelt, kann aber keine Antworten finden, weshalb ich hier posten werde ... Jede Hilfe wäre willkommen!

Über die Admin-Seite (als Superuser) habe ich eine Gruppe mit der Berechtigung zum Hinzufügen/Ändern/Löschen von Seiten zusätzlich zu anderen Berechtigungen hinzugefügt.

Ich erstelle einen Benutzer und weisen den Benutzer dieser Gruppe zu.

Vor allem, wenn ich diesen Benutzer nicht als Mitarbeiter angeben, dann können sie nicht auf die Admin-Seite zugreifen, um mit dem Anmelden zu beginnen - das macht nur Sinn für mich: Was ist der Sinn eines Benutzers, der hat nie die Möglichkeit sich einzuloggen? Oder gibt es etwas, das mir fehlt? Gibt es eine andere Möglichkeit, sich neben der Admin-Site selbst anzumelden?

Zweitens, nach der Markierung dieses Benutzers als Mitarbeiter und unter Berücksichtigung, dass der Benutzer ein Mitglied der Gruppe mit der Berechtigung zum Hinzufügen/Bearbeiten/Löschen von Seiten ist, kann er andere Administratoraufgaben ausführen, die er erhalten hat Berechtigungen für, können aber immer noch keine Seiten hinzufügen/bearbeiten/löschen. Obwohl Seiten als Objekt angezeigt werden, gibt es keine Verknüpfung zur Seitenliste.

Antwort

9

Die Einstellung Personal unterscheidet zwischen Benutzern, die auf den Django-Administrator zugreifen dürfen, und Benutzern, die keine regulären Benutzer sind, die sich über ein Registrierungsformular bei Ihrer Website angemeldet haben.

Ich hatte das gleiche Problem wie Sie einen neuen Nicht-Superuser-Benutzer erstellen und nicht in der Lage sein, Seiten als dieser Benutzer hinzuzufügen oder zu bearbeiten. Es stellte sich heraus, dass ich in meiner settings.py CMS_PERMISSION = False setzen musste.

Wenn Sie CMS_PERMISSION == True haben, erhalten Sie ein feinkörnigeres Berechtigungsframework, in dem jede Seite ihre eigene Liste von Benutzern hat, die sie anzeigen und bearbeiten dürfen. Die Berechtigung zum Bearbeiten erfolgt also Seite für Seite du bist ein Superuser). Wenn Sie diese Funktionalität nicht benötigen, schlage ich vor, dass Sie sie deaktivieren.

Wenn Sie das feinkörnigere Berechtigungssystem möchten, aber auch, dass einige Benutzer jede Seite der Site bearbeiten können, melden Sie sich als Superuser bei django admin an und sehen Sie sich Cms -> Pages global permissions an . Von dort aus können Sie jedem Benutzer oder jeder Gruppe ein Editierrecht zuweisen.

+0

Ich brauche Seite für Seite Funktionalität. :( –

+0

Danke für die gründliche Antwort. Ich endete mit der CMS -> Pages Global Permissions und eine Gruppe, um dies zu verwalten. – KFunk

Verwandte Themen