Salut, Pour le passage en anonyme, je ne saurais te dire en l'état parce que par défaut, tu ne te fait pas déconnecter d'une session comme ça. En tout cas ça ne vient pas directement de @login_required qui ne fait que rediriger vers la page de login lorsqu'un utilisateur anonyme essaye d'accéder à une ressource protégée. Peut être a tu perdu ton cookie de session pendant tes tests.
Par contre à propos de ton lien : <li class="puceIntermediaire"><a href="/MonSite/Principale">Créer</a></li> À part si tu l'a spécifié explicitement sans slash de fin dans tes urls (ou une option particulière dans les settings pour les ignorer), ton lien devrait être : /MonSite/Principale/ Si tu regardes dans tes logs, tu verras qu'en accédant à "/MonSite/Principale", django te redirige à chaque fois vers "/MonSite/Principale/". -- Cordialement, David THENON - http://sveetch.biz Le samedi 21 juillet 2012 12:00:03, sucrette a écrit : > Bonjour à toutes et tous, > > Tout d'abord, étant totalement débutante dans l'univers Django, je > m'excuse par avance des énormités que je vais forcément proférer. > > Je dois construire un site gérant deux niveaux d'utilisateurs : des > "lecteurs", qui peuvent uniquement lire les données d'une base de données > XML (peu importe pourquoi XML plutôt que d'utiliser le serveur SQL de > Django) et des "rédacteurs", qui pourront modifier le contenu de cette > base. > > Le site est "privé", en ce sens qu'il est nécessaire de se logger pour y > accéder, et n'est de fait pas accessible aux utilisateurs anonymes. > > J'aimerais que la page principale du site soit différente en fonction du > type d'utilisateur : tout simplement, s'il s'agit d'un "rédacteur", que > deux liens "créer" et "éditer" soient ajoutés. > > Pour ce faire, j'ai créé via le shell mes deux groupes "lecteur" et > "redacteur", ma permission "creation_modification", ai ajouté cette > dernière au groupe "redacteur et ai créé deux utilisateurs tests (un > lecteur et un redacteur). Dans ma template principale, j'ai ajouté la > condition suivante : > > (...) > {% if perms.BaseXML.creation_modification %} > <li class="puceIntermediaire"><a href="#">Editer</a></li> > <li class="puceIntermediaire"><a href="#">Créer</a></li> > {% endif %} > (...) > > Cela marche effectivement : quand je me connecte en tant que lecteur, ces > deux options ne figurent pas dans ma liste, et quand je me connecte en tant > que rédacteur, elles sont bien présentes. Je précise que toutes les > fonctions de mes views sont précédées du décorateur @login_required. > > Forte de ce "succès", j'ai voulu étoffer un peu ma template en ajoutant > un lien permanent vers la page d'accueil. J'ai donc rajouté la ligne > suivante : > > <li class="puceIntermediaire"><a > href="/MonSite/Principale">Créer</a></li> > > Or, quand je me connecte en tant que rédacteur et que je clique sur ce > lien, la page d'accueil est rechargée, mais sans les options liées à la > permission "creation_modification"... En faisant quelques test, j'ai cru > comprendre que j'étais automatiquement passé d'une session rédacteur à > une session anonymous user... Pourquoi ? > > J'avoue être un peu perdue, si quelqu'un pouvait m'expliquer ? > _______________________________________________ > django mailing list > [email protected] > http://lists.afpy.org/mailman/listinfo/django _______________________________________________ django mailing list [email protected] http://lists.afpy.org/mailman/listinfo/django
