本文整理汇总了Python中django.contrib.auth.views.LoginView.as_view方法的典型用法代码示例。如果您正苦于以下问题:Python LoginView.as_view方法的具体用法?Python LoginView.as_view怎么用?Python LoginView.as_view使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类django.contrib.auth.views.LoginView
的用法示例。
在下文中一共展示了LoginView.as_view方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: password_change
# 需要导入模块: from django.contrib.auth.views import LoginView [as 别名]
# 或者: from django.contrib.auth.views.LoginView import as_view [as 别名]
def password_change(self, request, extra_context=None):
"""
Handle the "change password" task -- both form display and validation.
"""
from django.contrib.admin.forms import AdminPasswordChangeForm
from django.contrib.auth.views import PasswordChangeView
url = reverse('admin:password_change_done', current_app=self.name)
defaults = {
'form_class': AdminPasswordChangeForm,
'success_url': url,
'extra_context': dict(self.each_context(request), **(extra_context or {})),
}
if self.password_change_template is not None:
defaults['template_name'] = self.password_change_template
request.current_app = self.name
return PasswordChangeView.as_view(**defaults)(request)
示例2: logout
# 需要导入模块: from django.contrib.auth.views import LoginView [as 别名]
# 或者: from django.contrib.auth.views.LoginView import as_view [as 别名]
def logout(self, request, extra_context=None):
"""
Log out the user for the given HttpRequest.
This should *not* assume the user is already logged in.
"""
from django.contrib.auth.views import LogoutView
defaults = {
'extra_context': dict(
self.each_context(request),
# Since the user isn't logged out at this point, the value of
# has_permission must be overridden.
has_permission=False,
**(extra_context or {})
),
}
if self.logout_template is not None:
defaults['template_name'] = self.logout_template
request.current_app = self.name
return LogoutView.as_view(**defaults)(request)
示例3: config_error_view
# 需要导入模块: from django.contrib.auth.views import LoginView [as 别名]
# 或者: from django.contrib.auth.views.LoginView import as_view [as 别名]
def config_error_view(request: HttpRequest, error_category_name: str) -> HttpResponse:
contexts = {
'apple': {'social_backend_name': 'apple', 'has_markdown_file': True},
'google': {'social_backend_name': 'google', 'has_markdown_file': True},
'github': {'social_backend_name': 'github', 'has_markdown_file': True},
'gitlab': {'social_backend_name': 'gitlab', 'has_markdown_file': True},
'ldap': {'error_name': 'ldap_error_realm_is_none'},
'dev': {'error_name': 'dev_not_supported_error'},
'saml': {'social_backend_name': 'saml'},
'smtp': {'error_name': 'smtp_error'},
'backend_disabled': {'error_name': 'remoteuser_error_backend_disabled'},
'remote_user_header_missing': {'error_name': 'remoteuser_error_remote_user_header_missing'},
}
return TemplateView.as_view(template_name='zerver/config_error.html',
extra_context=contexts[error_category_name])(request)
示例4: get
# 需要导入模块: from django.contrib.auth.views import LoginView [as 别名]
# 或者: from django.contrib.auth.views.LoginView import as_view [as 别名]
def get(self, request, *args, **kwargs):
context = self.get_context()
helper = FormHelper()
helper.form_tag = False
helper.include_media = False
context.update({
'title': self.title,
'helper': helper,
'app_path': request.get_full_path(),
REDIRECT_FIELD_NAME: request.get_full_path(),
})
defaults = {
'extra_context': context,
# 'current_app': self.admin_site.name,
'authentication_form': self.login_form or AdminAuthenticationForm,
'template_name': self.login_template or 'xadmin/views/login.html',
}
self.update_params(defaults)
# return login(request, **defaults)
return login.as_view(**defaults)(request)
示例5: password_change
# 需要导入模块: from django.contrib.auth.views import LoginView [as 别名]
# 或者: from django.contrib.auth.views.LoginView import as_view [as 别名]
def password_change(self, request, extra_context=None):
"""
Handle the "change password" task -- both form display and validation.
"""
from django.contrib.admin.forms import AdminPasswordChangeForm
from django.contrib.auth.views import PasswordChangeView
url = reverse('admin:password_change_done', current_app=self.name)
defaults = {
'form_class': AdminPasswordChangeForm,
'success_url': url,
'extra_context': {**self.each_context(request), **(extra_context or {})},
}
if self.password_change_template is not None:
defaults['template_name'] = self.password_change_template
request.current_app = self.name
return PasswordChangeView.as_view(**defaults)(request)
示例6: logout
# 需要导入模块: from django.contrib.auth.views import LoginView [as 别名]
# 或者: from django.contrib.auth.views.LoginView import as_view [as 别名]
def logout(self, request, extra_context=None):
"""
Log out the user for the given HttpRequest.
This should *not* assume the user is already logged in.
"""
from django.contrib.auth.views import LogoutView
defaults = {
'extra_context': {
**self.each_context(request),
# Since the user isn't logged out at this point, the value of
# has_permission must be overridden.
'has_permission': False,
**(extra_context or {})
},
}
if self.logout_template is not None:
defaults['template_name'] = self.logout_template
request.current_app = self.name
return LogoutView.as_view(**defaults)(request)
示例7: password_change
# 需要导入模块: from django.contrib.auth.views import LoginView [as 别名]
# 或者: from django.contrib.auth.views.LoginView import as_view [as 别名]
def password_change(self, request, extra_context=None):
"""
Handles the "change password" task -- both form display and validation.
"""
from django.contrib.admin.forms import AdminPasswordChangeForm
from django.contrib.auth.views import PasswordChangeView
url = reverse('admin:password_change_done', current_app=self.name)
defaults = {
'form_class': AdminPasswordChangeForm,
'success_url': url,
'extra_context': dict(self.each_context(request), **(extra_context or {})),
}
if self.password_change_template is not None:
defaults['template_name'] = self.password_change_template
request.current_app = self.name
return PasswordChangeView.as_view(**defaults)(request)
示例8: logout
# 需要导入模块: from django.contrib.auth.views import LoginView [as 别名]
# 或者: from django.contrib.auth.views.LoginView import as_view [as 别名]
def logout(self, request, extra_context=None):
"""
Logs out the user for the given HttpRequest.
This should *not* assume the user is already logged in.
"""
from django.contrib.auth.views import LogoutView
defaults = {
'extra_context': dict(
self.each_context(request),
# Since the user isn't logged out at this point, the value of
# has_permission must be overridden.
has_permission=False,
**(extra_context or {})
),
}
if self.logout_template is not None:
defaults['template_name'] = self.logout_template
request.current_app = self.name
return LogoutView.as_view(**defaults)(request)
示例9: password_change_done
# 需要导入模块: from django.contrib.auth.views import LoginView [as 别名]
# 或者: from django.contrib.auth.views.LoginView import as_view [as 别名]
def password_change_done(self, request, extra_context=None):
"""
Display the "success" page after a password change.
"""
from django.contrib.auth.views import PasswordChangeDoneView
defaults = {
'extra_context': dict(self.each_context(request), **(extra_context or {})),
}
if self.password_change_done_template is not None:
defaults['template_name'] = self.password_change_done_template
request.current_app = self.name
return PasswordChangeDoneView.as_view(**defaults)(request)
示例10: i18n_javascript
# 需要导入模块: from django.contrib.auth.views import LoginView [as 别名]
# 或者: from django.contrib.auth.views.LoginView import as_view [as 别名]
def i18n_javascript(self, request, extra_context=None):
"""
Display the i18n JavaScript that the Django admin requires.
`extra_context` is unused but present for consistency with the other
admin views.
"""
return JavaScriptCatalog.as_view(packages=['django.contrib.admin'])(request)
示例11: login
# 需要导入模块: from django.contrib.auth.views import LoginView [as 别名]
# 或者: from django.contrib.auth.views.LoginView import as_view [as 别名]
def login(self, request, extra_context=None):
"""
Display the login form for the given HttpRequest.
"""
if request.method == 'GET' and self.has_permission(request):
# Already logged-in, redirect to admin index
index_path = reverse('admin:index', current_app=self.name)
return HttpResponseRedirect(index_path)
from django.contrib.auth.views import LoginView
# Since this module gets imported in the application's root package,
# it cannot import models from other applications at the module level,
# and django.contrib.admin.forms eventually imports User.
from django.contrib.admin.forms import AdminAuthenticationForm
context = dict(
self.each_context(request),
title=_('Log in'),
app_path=request.get_full_path(),
username=request.user.get_username(),
)
if (REDIRECT_FIELD_NAME not in request.GET and
REDIRECT_FIELD_NAME not in request.POST):
context[REDIRECT_FIELD_NAME] = reverse('admin:index', current_app=self.name)
context.update(extra_context or {})
defaults = {
'extra_context': context,
'authentication_form': self.login_form or AdminAuthenticationForm,
'template_name': self.login_template or 'admin/login.html',
}
request.current_app = self.name
return LoginView.as_view(**defaults)(request)
示例12: start_two_factor_auth
# 需要导入模块: from django.contrib.auth.views import LoginView [as 别名]
# 或者: from django.contrib.auth.views.LoginView import as_view [as 别名]
def start_two_factor_auth(request: HttpRequest,
extra_context: ExtraContext=None,
**kwargs: Any) -> HttpResponse:
two_fa_form_field = 'two_factor_login_view-current_step'
if two_fa_form_field not in request.POST:
# Here we inject the 2FA step in the request context if it's missing to
# force the user to go to the first step of 2FA authentication process.
# This seems a bit hackish but simplifies things from testing point of
# view. I don't think this can result in anything bad because all the
# authentication logic runs after the auth step.
#
# If we don't do this, we will have to modify a lot of auth tests to
# insert this variable in the request.
request.POST = request.POST.copy()
request.POST.update({two_fa_form_field: 'auth'})
"""
This is how Django implements as_view(), so extra_context will be passed
to the __init__ method of TwoFactorLoginView.
def as_view(cls, **initkwargs):
def view(request, *args, **kwargs):
self = cls(**initkwargs)
...
return view
"""
two_fa_view = TwoFactorLoginView.as_view(extra_context=extra_context,
**kwargs)
return two_fa_view(request, **kwargs)
示例13: password_reset
# 需要导入模块: from django.contrib.auth.views import LoginView [as 别名]
# 或者: from django.contrib.auth.views.LoginView import as_view [as 别名]
def password_reset(request: HttpRequest) -> HttpResponse:
if not Realm.objects.filter(string_id=get_subdomain(request)).exists():
# If trying to get to password reset on a subdomain that
# doesn't exist, just go to find_account.
redirect_url = reverse('zerver.views.registration.find_account')
return HttpResponseRedirect(redirect_url)
view_func = DjangoPasswordResetView.as_view(template_name='zerver/reset.html',
form_class=ZulipPasswordResetForm,
success_url='/accounts/password/reset/done/')
return view_func(request)
示例14: password_change_done
# 需要导入模块: from django.contrib.auth.views import LoginView [as 别名]
# 或者: from django.contrib.auth.views.LoginView import as_view [as 别名]
def password_change_done(self, request, extra_context=None):
"""
Display the "success" page after a password change.
"""
from django.contrib.auth.views import PasswordChangeDoneView
defaults = {
'extra_context': {**self.each_context(request), **(extra_context or {})},
}
if self.password_change_done_template is not None:
defaults['template_name'] = self.password_change_done_template
request.current_app = self.name
return PasswordChangeDoneView.as_view(**defaults)(request)
示例15: login
# 需要导入模块: from django.contrib.auth.views import LoginView [as 别名]
# 或者: from django.contrib.auth.views.LoginView import as_view [as 别名]
def login(self, request, extra_context=None):
"""
Display the login form for the given HttpRequest.
"""
if request.method == 'GET' and self.has_permission(request):
# Already logged-in, redirect to admin index
index_path = reverse('admin:index', current_app=self.name)
return HttpResponseRedirect(index_path)
from django.contrib.auth.views import LoginView
# Since this module gets imported in the application's root package,
# it cannot import models from other applications at the module level,
# and django.contrib.admin.forms eventually imports User.
from django.contrib.admin.forms import AdminAuthenticationForm
context = {
**self.each_context(request),
'title': _('Log in'),
'app_path': request.get_full_path(),
'username': request.user.get_username(),
}
if (REDIRECT_FIELD_NAME not in request.GET and
REDIRECT_FIELD_NAME not in request.POST):
context[REDIRECT_FIELD_NAME] = reverse('admin:index', current_app=self.name)
context.update(extra_context or {})
defaults = {
'extra_context': context,
'authentication_form': self.login_form or AdminAuthenticationForm,
'template_name': self.login_template or 'admin/login.html',
}
request.current_app = self.name
return LoginView.as_view(**defaults)(request)