を別の関数でラップして、django.contrib.auth.views.logout
動作を追加しました。これは私の新しいlogout_pageです:
views.py
from django.contrib.auth import logout
def logout_page(request, *args, **kwargs):
from django.utils import timezone
user = request.user
profile = user.get_profile()
profile.last_logout = timezone.now()
profile.save()
logout(request, *args, **kwargs)
と
urls.py
(r'^logout/$', 'main.views.logout_page', {'next_page': '/'})
しかし、次のエラーが発生します。
logout() got an unexpected keyword argument 'next_page'
logoutに**kwargsが含まれているのに、なぜ'next_page'が予期しない引数であるのかわかりません。私が知る限り、django.contrib.authからのログアウトにはそのような引数が含まれている必要があります。ソースから:
https://github.com/django/django/blob/master/django/contrib/auth/views.py
def logout(request, next_page=None,
template_name='registration/logged_out.html',
redirect_field_name=REDIRECT_FIELD_NAME,
current_app=None, extra_context=None):
...
どうすればこれを解決できますか?