Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Erreur 500 / AttributeError: 'WSGIRequest' object has no attribute 'user' #1337

Closed
SpaceFox opened this issue Aug 3, 2014 · 7 comments
Closed
Assignees
Labels
C-Back Concerne le back-end Django S-BUG Corrige un problème
Milestone

Comments

@SpaceFox
Copy link
Contributor

SpaceFox commented Aug 3, 2014

Trouvée dans Sentry : on a pas mal d'erreurs de ce genre :

zds.middlewares.profile in process_response
AttributeError: 'WSGIRequest' object has no attribute 'user'

Toutes les requêtes sur lesquelles on a ces erreurs sont des requêtes qui n'auraient jamais dû êtres servies par Django (images etc.)

Donc quand dans zds/middlewares/profile.py à la ligne 90 on arrive à cette condition :

if (settings.DEBUG or request.user.is_superuser) and 'prof' in request.GET:

il se peut que request.user n'existe pas et ça renvoie une erreur 500.

Réparation :

  1. Faire en sorte que Django ne serve plus n'importe quoi (ticket Bugs de download pendant la validation #1338 )
  2. Corriger le test pour vérifier l'existence de request.user avant d'y accéder
@SpaceFox SpaceFox added this to the Version 1.0 milestone Aug 3, 2014
@gustavi
Copy link
Contributor

gustavi commented Aug 3, 2014

Issue 1337 \o/

@gustavi
Copy link
Contributor

gustavi commented Aug 3, 2014

Plus sérieusement il faut un if request.user avant (ou peut le mettre dans cette condition mais ça risque de surcharger).

@firm1
Copy link
Contributor

firm1 commented Aug 4, 2014

Je précise que ce fichier (zds/middlewares/profile.py) n'est visible que sur le serveur, pour du profiling uniquement.

@SpaceFox
Copy link
Contributor Author

SpaceFox commented Aug 4, 2014

Je précise que ce fichier (zds/middlewares/profile.py) n'est visible que sur le serveur, pour du profiling uniquement.

Heu... on a un fichier hors conf qui n'est pas sur Git ? Alors la première chose à faire est l'y mettre !

@SpaceFox
Copy link
Contributor Author

@firm1 je suppose que c'est toi qui a créé ce fichier et donc qui sait à qui il sert ?

Pourrais-tu au moins l'envoyer mettre sur le dépôt avec un commentaire pertinent quant à son utilité et son utilisation ? (comme ça quelqu'un pourra corriger le bug si tu n'as pas le temps de le faire).

@firm1
Copy link
Contributor

firm1 commented Aug 10, 2014

@firm1 je suppose que c'est toi qui a créé ce fichier et donc qui sait à qui il sert ?

Oui, il sert à faire du profiling après une MEP pour savoir si on eu des pertes/améliorations de perfs sur le serveur. Je le remonterai dans le dépot quand j'aurai accès au serveur. mais en soit celui qui a accès au serveur peut aller le chercher dans zds/middlewares/ et rajouter l'intergiciel dans le settings.py. Rien de bien méchant

SpaceFox added a commit to SpaceFox/zds-site that referenced this issue Aug 18, 2014
SpaceFox added a commit to SpaceFox/zds-site that referenced this issue Aug 18, 2014
@SpaceFox SpaceFox self-assigned this Aug 18, 2014
@firm1
Copy link
Contributor

firm1 commented Aug 21, 2014

C'est mergé, je ferme.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-Back Concerne le back-end Django S-BUG Corrige un problème
Projects
None yet
Development

No branches or pull requests

3 participants