Quelle est la différence entre staff, admin, superuser dans django?

Django a superutilisateur, le personnel, l'admin...

Le superutilisateur et le personnel sont dans django.contib.auth.models.UserManager. Ensuite, il y a la commande createsuperuser de django-admin.

Eh bien, il y a des applications d'administration ... Quelle est la différence?

32
demandé sur F30 2013-12-09 15:13:46

3 réponses

Je prends ceci de la Documentation de Django:

L'une des parties les plus puissantes de Django est l'administrateur automatique interface. La meilleure chose est que vous pouvez le personnaliser facilement.

Si vous êtes connecté en tant que superutilisateur, vous pouvez créer, modifier et supprimer tout objet (modèles).

Vous pouvez créer un utilisateur personnel à l'aide de l'indicateur personnel. Le "personnel" des drapeaux si l'utilisateur est autorisé à se connecter à l'interface d'admin (c'est à dire, si cet utilisateur est considéré comme un "membre du personnel" dans votre organisation). Depuis ce même système utilisateur peut être utilisé pour contrôler accès aux sites publics (c'est-à-dire non-admin), cet indicateur différencie entre utilisateurs et des administrateurs.

Utilisateurs admin"normaux – -c'est-à-dire membres du personnel actifs et non superutilisateurs – sont accordés un accès administrateur via les autorisations attribuées. Chaque objet modifiable via l'interface d'administration a trois autorisations: A créer une autorisation d'édition et une autorisation de suppression pour tous les les modèles que vous aviez créé.

Le site d'administration de Django utilise un système d'autorisations que vous pouvez utiliser pour les utilisateurs spécifiques n'accèdent qu'aux parties de l'interface qu'ils besoin. Lorsque vous créez un utilisateur, cet utilisateur n'a pas à vous de donner l'autorisation spécifique à l'utilisateur

24
répondu Aks 2015-10-05 08:31:40

Django n'a qu'un seul type d'utilisateur. C'est simplement User. En fonction des autorisations que vous donnez à l'utilisateur, il est capable de faire différentes choses par défaut:

  1. tout utilisateur normal peut être authentifié (c'est tout le but de l'utilisateur, d'avoir un login).
  2. tout utilisateur affecté à l'indicateur staff peut se connecter à l'application admin contributed. Au-delà de cela, ils n'ont pas d'autres privilèges spéciaux.
  3. Ils peuvent être définis comme actifs ou non. Seuls les utilisateurs actifs sont autorisés à connexion.

Un superutilisateur est juste une méthode pratique pour créer un utilisateur avec toutes les autorisations. Ils ne sont que des utilisateurs normaux étant donné le personnel et toutes les autorisations par défaut.

, Il est également ADMINS et MANAGERS les paramètres.

Ceux-ci sont utilisés pour les notifications, lorsque le site est en cours d'exécution en production (c'est-à-dire lorsque DEBUG est False).

Les administrateurs sont informés de toute erreur générant un retraçage. Ils sont envoyés par courriel le traceback et des informations sur le demande. Les gestionnaires sont envoyés par courriel lorsque quelqu'un demande un lien qui n'existe pas (fondamentalement, quand un 404 est déclenché).

18
répondu Burhan Khalid 2015-10-29 04:56:50

Un superutilisateur a automatiquement toutes les autorisations ({[0] } renverra True).

Un membre du personnel peut se connecter aux pages d'administration.

Les pages d'administration sont une interface simple avec les modèles que vous avez configurés pour y apparaître. Il affiche uniquement les modèles pour lesquels l'utilisateur actuel dispose des autorisations appropriées.

Donc, si quelqu'un est à la fois superutilisateur et personnel, ils peuvent se connecter au site d'administration et avoir un accès complet à tous les modèles qui apparaissent dans le site d'administration.

6
répondu RemcoGerlich 2013-12-09 11:40:22