Fügen Sie eine benutzerdefinierte Berechtigung zu einem Benutzer
-
18-09-2019 - |
Frage
Ich möchte einige bestehende Benutzer eine benutzerdefinierte Berechtigung in der Lage sein zu geben, die ich für den Zugriff auf eine Ansicht benötigen.
Ich glaube, ich brauche die neue Berechtigung für die Postgres-Tabelle auth_permission hinzufügen, aber ich vermute, es ist ein höherer Ebene Weg, dies zu tun. Auch gibt es eine Spalte in auth_permission für content_type und ich weiß nicht, was sein Wert sein sollte.
Was ist der richtige Weg, dies zu tun?
Lösung
Haben Sie einen Blick auf, wie href="https://docs.djangoproject.com/en/dev/topics/auth/customizing/#custom-permissions" zum benutzerdefinierten Berechtigungen erstellen in der Dokumentation.
class USCitizen(models.Model):
# ...
class Meta:
permissions = (
("can_drive", "Can drive"),
("can_vote", "Can vote in elections"),
("can_drink", "Can drink alcohol"),
)
Dann läuft manage.py syncdb
.
Mit dem permission_required Dekorateur Zugriff auf Ihre Ansicht zu beschränken.