Résolue

Self.request.user dans le form_valid de CreateView

# Orienté objet # Héritage # Django

Gabriel Trouvé

Mentor

Bonsoir,

J'ai cherché mais j'ai du mal à retrouver dans l'héritage... J'ai fait toute la famille dans le code source en plus lol mais je n'ai pas trouvé.

J'assigne l'attribut d'instance self.request.user dans ma méthode.
Alors pourtant je me débrouille pas trop mal en POO, mais là j'ai du mal à comprendre le request.user en tant qu'attribut d'instance.

On pourrait très bien le retrouver dans une vue basée sur les fonctions avec le form.is_valid au passage car je l'ai déjà fait (dans un cours à Thibault il me semble)

Merci d'avance

Thibault houdon

Mentor

Salut Gab !

Effectivement il est bien caché ce request, tu peux le trouver dans la méthode setup de la classe View qui est au début de la chaîne de toutes les CBV (si tu remontes toute la chaîne d'héritage de CreateView, tu finiras par la trouver).

Dans ce fichier :
/tonenvvirtuel/lib/python3.9/site-packages/django/views/generic/base.py

L'attribut request

Et c'est exactement comme dans une FBV, tu as accès à la requête initiée par le navigateur :

def ma_vue(request):
    return HttpResponse(f"L'utilisateur {request.user} est connecté")

J'espère que c'est plus clair :)

Gabriel Trouvé

Mentor

ok super ! je suis remonté jusqu'à vuew en plus. je suis un boulet pour le coup 🤣
c'est tout bon pour moi !😁

Inscris-toi

(c'est gratuit !)

Inscris-toi

Tu dois créer un compte pour participer aux discussions.

Créer un compte

Rechercher sur le site

Formulaire de contact

Inscris-toi à Docstring

Pour commencer ton apprentissage.

Tu as déjà un compte ? Connecte-toi.