Changes between Initial Version and Version 2 of Ticket #28550
- Timestamp:
- Aug 30, 2017, 2:06:03 PM (7 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Ticket #28550
- Property Severity Normal → Release blocker
- Property Triage Stage Unreviewed → Accepted
- Property Summary LogoutView loses template_name → auth's login/logout() views drop options passed as args rather the kwargs
- Property Type Uncategorized → Bug
-
Ticket #28550 – Description
initial v2 1 I'm using django-userenawhich passes a custom template name into1 I'm using [https://github.com/bread-and-pepper/django-userena/blob/7dfb3d5d148127e32f217a62096d507266a3a83c/userena/views.py#L493 django-userena] which passes a custom template name into 2 2 3 3 {{{ 4 from django.contrib.auth.views import logout as Signout 5 .... 4 6 return Signout(request, next_page, template_name, *args, **kwargs) 5 7 }}} 6 8 7 By the time this call is converted to a view, the template_name reverts to the default ({{{registration/logged_out.html}}}). If I convert the arg to a kwarg (in {{{userena}}}), the call works correctly so the issue seems to be the way the view is constructed (in {{{contrib.auth.views.logout()}}}: 8 9 By the time this call is converted to a view, the template_name reverts to the default (`registration/logged_out.html`). If I convert the arg to a kwarg (in `userena`), the call works correctly so the issue seems to be the way the view is constructed (in `contrib.auth.views.logout()`: 9 10 {{{ 10 return LogoutView.as_view(**kwargs)(request, *args, **kwargs) 11 return LogoutView.as_view(**kwargs)(request, *args, **kwargs)` 11 12 }}} 12 13 Since {{{template_name}}} is passed as an arg, it isn't included in the call to {{{as_view()}}} that actually sets attributes (including {{{template_name}}}. Before making this call, I suspect the {{{logout()}}} function should convert template_name (and possibly other args) into kwargs. 13 Since `template_name` is passed as an arg, it isn't included in the call to `as_view()` that actually sets attributes (including `template_name`. Before making this call, I suspect the `logout()` function should convert template_name (and possibly other args) into kwargs.