J'essaie d'implémenter mon propre sérialiseur et vue pour gérer l'authentification basée sur un jeton avec un e-mail au lieu d'un nom d'utilisateur. Lors de la copie de la vue ObtainAuthToken , une erreur est renvoyée concernant l'objet Token
qui n'a pas l'attribut objects
.
mkdir restframework
cd restframework/
virtualenv env
source env/bin/activate
pip install django
pip install djangorestframework
django-admin startproject tutorial
cd tutorial
python manage.py shell
## Expected behavior
Token class can query objects
## Actual behavior
python 3.6.5 (v3.6.5:f59c0932b4, 28 mars 2018, 03:03:55)
[GCC 4.2.1 (Apple Inc. build 5666) (point 3)] sur darwin
Tapez "aide", "copyright", "crédits" ou "licence" pour plus d'informations.
(Console interactive)
à partir de rest_framework.authtoken.models importer le jeton
Token.objects.all()
Traceback (dernier appel le plus récent) :
Fichier "", ligne 1, dans
AttributeError : l'objet de type 'Token' n'a pas d'attribut 'objects'
```
Cette classe (étant un modèle Django) devrait pouvoir interroger en utilisant l'attribut objects
, n'est-ce pas ?
C'est parce que vous n'avez pas ajouté le jeton d'authentification dans les paramètres INSTALLED_APPS
Edit : si ce n'est pas dans le INSTALLED_APPS
, c'est abstrait et n'a pas le gestionnaire par défaut ( objects
).
@xordoquy Merci !
Ajouter 'rest_framework.authtoken'
à la liste INSTALLED_APPS dans settings.py
Commentaire le plus utile
C'est parce que vous n'avez pas ajouté le jeton d'authentification dans les paramètres
INSTALLED_APPS
Edit : si ce n'est pas dans le
INSTALLED_APPS
, c'est abstrait et n'a pas le gestionnaire par défaut (objects
).