django-sonar
django-sonar copied to clipboard
If User is not attached with request, it crashes when middleware is placed before authentication or even session middlewares
Proposed simple solution:
if hasattr(request, 'user'):
if request.user.is_authenticated:
# use get_username() instead of username to support custom user models
# use get_email_field_name() instead of email to support custom user models
user_info = {
"user_id": request.user.id,
"username": request.user.get_username(),
"email": getattr(request.user, User.get_email_field_name(), 'No email provided'),
}
instead of
if request.user.is_authenticated:
# use get_username() instead of username to support custom user models
# use get_email_field_name() instead of email to support custom user models
user_info = {
"user_id": request.user.id,
"username": request.user.get_username(),
"email": getattr(request.user, User.get_email_field_name(), 'No email provided'),
}