Django: Comment accéder à l'identifiant de l'utilisateur actuellement connecté dans javascript?

J'ai défini une méthode get_queryset dans un jeu de vues.

class BooksViewSet(ReadOnlyModelViewSet): serializer_class = BooksSerializer permission_classes = (IsAuthorizedToAccess, ) def get_queryset(self): queryset = Books.objects.all(); return queryset 

En utilisant javascript, je souhaite afficher les livres de l'utilisateur actuel d'un côté et les livres d'autres utilisateurs sur le côté droit. J'ai fait tout le code mais je n'ai pas pu accéder à l'identifiant utilisateur actuel dans mon fichier js.

 if(auther.id == "current user id") { } 

Je veux accéder à l'identifiant de l'utilisateur comme celui-ci. Pour toutes les recherches que j'ai effectuées, je devais savoir comment ajouter cet identifiant d'utilisateur comme un champ caché ou passer cet identifiant. Mais je ne peux pas, car la méthode ne permet que de retourner l'objet queryset.

Quelqu'un peut-il m'aider à comprendre cela.

EDIT: MY SOLUTION

Dans mes points de vue, je définis la méthode get_context_data.

  def get_context_data(self, *args, **kwargs): ctx = super(class_name, self).get_context_data(*args, **kwargs) ctx["author_id"]=self.request.user.id return ctx 

Dans mon modèle, j'ai défini un champ caché:

 <input type="hidden" id="userId" value={{author_id}}> 

Et dans mon JS:

Var x = document.getElementById ("author_id"). Valeur;

Vous pouvez également utiliser une étiquette de modèle. Comme {{author.id}} Vous pouvez également affecter à une variable javascript la valeur, puis l'utiliser

 var id = {{ author.id }} 

Si le javascript se trouve dans votre fichier modèle, vous pouvez l'accéder comme n'importe quel autre comme ceci:

 {% for author in authors %} if('{{author.id}}' == "current user id") { } {% endfor %}