Salut,

Pour répondre rapidement à ta question, c'est un problème Python que tu a en 
premier lieu, il te suffit d'instancier ton dict "c" et de l'updater si besoin 
par la suite, par exemple comme celà :

def data(request):
    c = {'user':request.user}
    if request.user.is_authenticated():
        c.update({'csrfmiddlewaretoken': csrf(request)})
        return render_to_response('data.html', c)
    else:
        return render_to_response('data.html', c)

Mais ton approche me semble un peu "à l'arrache" parce que :

* Avec les deux "context processors" adéquates [1] installés dans tes 
settings, tout tes templates bénéficiant du context "global" (c'est à dire pas 
un context que tu forges "manuellement") auront un objet "request" qui 
contiendra un attribut "user" avec une instance "AnonymousUser" par défaut 
pour les anonymes et une instance "User" pour les authentifiés.

* Vu qu'à priori tu utilises des "view functions" tu peux utiliser le le 
décorateur "csrf_protect" [2] pour que le jeton CSRF soit toujours ajouté 
automatiquement. (Je ne comprends pas trop pourquoi tu ajoutes le jeton CSRF 
sur une condition d'anonyme ou pas, il n'y a aucun mal à donner ce jeton à un 
anonyme).

[1] Les context processors : 
https://docs.djangoproject.com/en/dev/ref/templates/api/#subclassing-context-
requestcontext
[2] https://docs.djangoproject.com/en/dev/ref/contrib/csrf/#module-
django.views.decorators.csrf

Le dimanche 22 avril 2012 02:49:43, sushi a écrit :
> Bonjour,
> 
> def data(request):
>       if request.user.is_authenticated():
>               d=csrf(request)
>               c = {'csrfmiddlewaretoken':d,'user':request.user,}
>               return render_to_response('data.html',c)
>       else:
>               return render_to_response('data.html',{})
> 
> Comme vous pouvez le constater je n'ai pas trouver de syntaxe pour envoyé
> mon token ET mon objet user, car dans la doc ils ne montrent que cette
> méthode:
> 
>     c = {}
>     c.update(csrf(request))
> 
> Comment faire pour envoyé mon token CSRF et mon objet user?
> 
> En espérant que vous puissiez m'aider,
> 
> Cordialement,
> 
> sushi
> _______________________________________________
> django mailing list
> [email protected]
> http://lists.afpy.org/mailman/listinfo/django

-- 
Cordialement,
David THENON.
_______________________________________________
django mailing list
[email protected]
http://lists.afpy.org/mailman/listinfo/django

Répondre à