本文整理匯總了Python中django.contrib.auth.views.LogoutView方法的典型用法代碼示例。如果您正苦於以下問題:Python views.LogoutView方法的具體用法?Python views.LogoutView怎麽用?Python views.LogoutView使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類django.contrib.auth.views
的用法示例。
在下文中一共展示了views.LogoutView方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: process_view
# 需要導入模塊: from django.contrib.auth import views [as 別名]
# 或者: from django.contrib.auth.views import LogoutView [as 別名]
def process_view(self, request, view_func, view_args, view_kwargs):
"""Forwards unauthenticated requests to the admin page to the CAS
login URL, as well as calls to django.contrib.auth.views.login and
logout.
"""
if view_func == login:
return cas_login(request, *view_args, **view_kwargs)
if view_func == logout:
return cas_logout(request, *view_args, **view_kwargs)
if view_func in (cas_login, cas_logout):
return None
if settings.CAS_ADMIN_PREFIX:
if not request.path.startswith(settings.CAS_ADMIN_PREFIX):
return None
elif not view_func.__module__.startswith('django.contrib.admin.'):
return None
if view_func.__name__ == 'logout':
return HttpResponseRedirect(reverse(settings.CAS_LOGOUT_URL_NAME))
if request.user.is_authenticated:
if request.user.is_staff:
return None
raise PermissionDenied(_('You do not have staff privileges.'))
params = urllib_parse.urlencode({REDIRECT_FIELD_NAME: request.get_full_path()})
return HttpResponseRedirect(reverse(settings.CAS_LOGIN_URL_NAME) + '?' + params)