我们从Python开源项目中,提取了以下50个代码示例,用于说明如何使用django.contrib.auth.views.login()。
def login(request): if request.method == 'POST': form = AuthenticationForm(data=request.POST) if form.is_valid(): code = LoginCode.objects.filter(**{ 'user__email': request.POST.get('username') })[0] code.next = reverse('webtzite_register') code.save() code.send_login_code( secure=request.is_secure(), host=request.get_host(), ) return render(request, 'registration/sent_mail.html') jpy_user = os.environ.get('JPY_USER') if jpy_user: from django.contrib.auth import authenticate code = authenticate(code=None, username=jpy_user+'@users.noreply.github.com') user = authenticate(code=code.code, username=code.user.username) auth_login(request, user) return redirect(reverse('webtzite_register')) return django_login(request, authentication_form=AuthenticationForm)
def login(request): provider_list = [] for provider in get_providers(): try: # social_app??? provider?? ?? ?????. ??? ??? ?? ??? ??? ???????. # ??? Provider? ????? social\_app ???? ????????. provider.social_app = SocialApp.objects.get(provider=provider.id, sites=settings.SITE_ID) except SocialApp.DoesNotExist: # Provider ??? ?? ?? .social_app? None?? ?? provider.social_app = None provider_list.append(provider) return auth_login(request, form_class=LoginForm, extra_context={ 'provider_list': provider_list, })
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)
def custom_login(request): """ A custom login page. :param request: the current request object :type request: HttpRequest """ if request.user.is_authenticated(): if reporting.settings.LOCAL_USERS: return login(request) else: template = loader.get_template('no_permission.html') context = applist.template_context() return HttpResponse(template.render(context, request)) else: if reporting.settings.AUTHENTICATION_TYPE == "shibboleth": return HttpResponseRedirect("/Shibboleth.sso/Login") else: return login(request)
def accept_invitation(request, invitation_uuid=None): try: invitation = Invitation.objects.new().get(uuid=invitation_uuid) except Invitation.DoesNotExist: raise Http404 user = invitation.user form = SetPasswordForm(invitation.user, request.POST or None) if form.is_valid(): form.save() profile = user.profile profile.last_password_change = timezone.now() profile.is_phantom = False profile.forward_messages_after_minutes = 5 profile.save() invitation.is_accepted = True invitation.save() user = auth.authenticate(email=invitation.user.email, password=form.cleaned_data['new_password1']) auth.login(request, user) return redirect('ecs.users.views.edit_profile') return render(request, 'users/invitation/set_password_form.html', { 'form': form, })
def login(request): """ Log users in the system and re-direct them to dashboard or show proper error message when failed. """ response = contrib_login(request, 'gui/accounts/login.html', authentication_form=partial(LoginForm, request)) # Setup i18n settings into session if request.method == 'POST': user = request.user if user.is_authenticated(): auth_logger.info('User %s successfully logged in from %s (%s)', user, get_client_ip(request), request.META.get('HTTP_USER_AGENT', '')) user.userprofile.activate_locale(request) clear_attempts_cache(request, user.username) else: auth_logger.warning('User %s login failed from %s (%s)', request.REQUEST.get('username', None), get_client_ip(request), request.META.get('HTTP_USER_AGENT', '')) return response
def get(self, request, *args, **kwargs): context = self.get_context() helper = FormHelper() helper.form_tag = 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/auth/login.html', } self.update_params(defaults) return login(request, **defaults)
def get(self, request, *args, **kwargs): context = self.get_context() helper = FormHelper() helper.form_tag = 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)
def make_login(request): form = request.POST username = form.get('username') password = form.get('password') user = authenticate(username=username, password=password) is_logged = False if user is not None: logger = logging.getLogger(__name__) logger.info(user.__str__() + ' User is logged') login(request, user) message = "Logged" is_logged = True else: message = "Incorrect user" context = { "is_logged": is_logged, "message": message, } return context
def admin_view(self, view, cacheable=False): """ Decorator to create an admin view attached to this ``AdminSite``. This wraps the view and provides permission checking by calling ``self.has_permission``. You'll want to use this from within ``AdminSite.get_urls()``: class MyAdminSite(AdminSite): def get_urls(self): from django.conf.urls import patterns, url urls = super(MyAdminSite, self).get_urls() urls += patterns('', url(r'^my_view/$', self.admin_view(some_view)) ) return urls By default, admin_views are marked non-cacheable using the ``never_cache`` decorator. If the view can be safely cached, set cacheable=True. """ def inner(request, *args, **kwargs): if LOGIN_FORM_KEY in request.POST and request.user.is_authenticated(): auth_logout(request) if not self.has_permission(request): if request.path == reverse('admin:logout', current_app=self.name): index_path = reverse('admin:index', current_app=self.name) return HttpResponseRedirect(index_path) return self.login(request) return view(request, *args, **kwargs) if not cacheable: inner = never_cache(inner) # We add csrf_protect here so this function can be used as a utility # function for any view, without having to repeat 'csrf_protect'. if not getattr(view, 'csrf_exempt', False): inner = csrf_protect(inner) return update_wrapper(inner, view)
def login(self, request, extra_context=None): """ Displays the login form for the given HttpRequest. """ from django.contrib.auth.views import login context = { 'title': _('Log in'), 'app_path': request.get_full_path(), REDIRECT_FIELD_NAME: request.get_full_path(), } context.update(extra_context or {}) defaults = { 'extra_context': context, 'current_app': self.name, 'authentication_form': self.login_form or AdminAuthenticationForm, 'template_name': self.login_template or 'admin/login.html', } return login(request, **defaults)
def staff_member_required(view_func): """ Decorator for views that checks that the user is logged in and is a staff member, displaying the login page if necessary. """ @wraps(view_func) def _checklogin(request, *args, **kwargs): if request.user.is_active and request.user.is_staff: # The user is valid. Continue to the admin page. return view_func(request, *args, **kwargs) assert hasattr(request, 'session'), "The Django admin requires session middleware to be installed. Edit your MIDDLEWARE_CLASSES setting to insert 'django.contrib.sessions.middleware.SessionMiddleware'." defaults = { 'template_name': 'admin/login.html', 'authentication_form': AdminAuthenticationForm, 'extra_context': { 'title': _('Log in'), 'app_path': request.get_full_path(), REDIRECT_FIELD_NAME: request.get_full_path(), }, } return login(request, **defaults) return _checklogin
def login(self, request, extra_context=None): """ Displays 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 login # 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 login(request, **defaults)
def login(self, request, extra_context=None): """ Displays 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 login # 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 login(request, **defaults)
def register_by_access_token(request, backend): token = request.GET.get('access_token') user = request.backend.do_auth(request.GET.get('access_token')) if user: login(request, user) return 'OK' else: return 'ERROR'
def login(request): auth_views.login(request) return render(request, 'registration/login.html')
def login(self, request, extra_context=None): """ Displays 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(URL_PREFIX_RESOURCE+index_path) from django.contrib.auth.views import login # 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(), ) if REDIRECT_FIELD_NAME not in request.GET and REDIRECT_FIELD_NAME not in request.POST: context[REDIRECT_FIELD_NAME] = request.get_full_path() context.update(extra_context or {}) defaults = { 'extra_context': context, 'current_app': self.name, 'authentication_form': self.login_form or AdminAuthenticationForm, 'template_name': self.login_template or 'admin/login.html', } return login(request, **defaults)
def login(request): response = django_login(request, template_name='accounts/login.html', authentication_form=LoginForm) return response
def login(self, request, extra_context=None): """ Displays 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 login # 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(), ) if (REDIRECT_FIELD_NAME not in request.GET and REDIRECT_FIELD_NAME not in request.POST): context[REDIRECT_FIELD_NAME] = request.get_full_path() context.update(extra_context or {}) defaults = { 'extra_context': context, 'current_app': self.name, 'authentication_form': self.login_form or AdminAuthenticationForm, 'template_name': self.login_template or 'admin/login.html', } return login(request, **defaults)
def hybrid_login(request, template_name='registration/login.html', redirect_field_name=REDIRECT_FIELD_NAME): # Don't login using both authentication systems at the same time if request.user.is_authenticated(): redirect_to = get_redirect_to(request, redirect_field_name) return HttpResponseRedirect(redirect_to) return login(request, template_name, redirect_field_name)
def login(request, *args, **kwargs): if request.is_ajax(): return HttpResponse('<script type="text/javascript">window.location.href="%s";</script>' % reverse('ecs.users.views.login')) ua_str = request.META.get('HTTP_USER_AGENT') if ua_str: request.ua = UA(ua_str) if request.ua.is_unsupported: return redirect(staticfiles_storage.url('help/html5.html')) kwargs.setdefault('template_name', 'users/login.html') kwargs['authentication_form'] = EmailLoginForm response = auth_views.login(request, *args, **kwargs) if request.user.is_authenticated(): LoginHistory.objects.create(type='login', user=request.user, ip=request.META['REMOTE_ADDR']) profile = request.user.profile old_session_key = profile.session_key profile.session_key = request.session.session_key profile.save() if not settings.DEBUG: Session.objects.filter(session_key=old_session_key).update( expire_date=timezone.now()) return response
def login(self, request, extra_context=None): """ Displays 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 login # 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(), ) 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 login(request, **defaults)
def act_as_login_view(request, **kwargs): # in-mehod import otherwise cannot mock it due to sensitive wraps # see test_act_as_login_view_protects_sensitive_vars from django.contrib.auth.views import login kwargs['authentication_form'] = get_login_form(request, **kwargs) return login(request, **kwargs)
def new_arbitrate(request): if request.user.is_anonymous(): return HttpResponseForbidden() if request.user.department is not None: if request.method == 'POST': pdn_h = PdnForm(request.POST, prefix='pdn') cert_h = CertForm(request.POST, prefix='cert') arb_h = ArbitrateForm(request.POST, prefix='arbitrate') if cert_h.is_valid() and arb_h.is_valid() and pdn_h.is_valid(): user = User.objects.create_user(pdn_h.cleaned_data.get('login'), None, pdn_h.cleaned_data.get('password')) user.first_name = pdn_h.cleaned_data.get('first_name') user.last_name = pdn_h.cleaned_data.get('last_name') # ??????? ?????????????? ???? ???????? ???? ???. c = cert_h.save() request.user.department.arbitration_set.create(certificate=c, user=user, activity_info=arb_h.cleaned_data.get('activity_info'), dismissal_date=arb_h.cleaned_data.get('dismissal_date'), office_location=arb_h.cleaned_data.get('office_location'), organization_field=arb_h.cleaned_data.get('organization_field'), name_register=arb_h.cleaned_data.get('name_register'), ) # ? ????????? ?????? ?????? ?????? ??? ???????, ???? ??? ? ????? ???????. # ???? ???-?? ???????? ??????? -- u r welcome user.save() return redirect(arbitrates) else: pdn_h = PdnForm(prefix='pdn') cert_h = CertForm(prefix='cert') arb_h = ArbitrateForm(prefix='arbitrate') return render_to_response("createarbitrate.html", {"pdn": pdn_h, "cert": cert_h, "arbitrate": arb_h, }, context_instance=RequestContext(request)) else: return HttpResponseForbidden()
def home(request): if request.user.is_anonymous(): return redirect(login) success = False try: if request.user.department is not None: pass except ObjectDoesNotExist: success = True if not success: return redirect(arbitrates) else: return redirect(acts)
def new_act(request): if request.user.is_anonymous(): return redirect(login) if is_arbitrate(request.user): return HttpResponseForbidden() if request.method == 'POST': person = PersonForm(request.POST, prefix="person") jud = JudForm(request.POST, prefix='jud') _act = ActForm(request.POST, prefix='act') if person.is_valid() and jud.is_valid() and _act.is_valid(): person = person.save() jud = jud.save() print(jud.name) _act = _act.save(commit=False) _act.person = person _act.jud = jud _act.save() print("success!") return redirect(arbitrates) else: person = PersonForm(prefix='person') jud = JudForm(prefix='jud') ActForm.base_fields['arbitration'] = forms.ModelChoiceField(queryset=request.user.department.arbitration_set) _act = ActForm(prefix='act') return render_to_response("createact.html", {'person': person, 'jud': jud, 'act': _act}, context_instance=RequestContext(request))
def change_act(request, pk): print(pk) if request.user.is_anonymous(): return redirect(login) if len(Act.objects.filter(pk=pk)) == 0: raise Http404 # ?? ????????? ?????, ??? ???? ??????????? ?????? if request.user != Act.objects.get(pk=pk).arbitration.user \ and request.user != Act.objects.get(pk=pk).arbitration.dep: return HttpResponseForbidden() if request.method == 'POST': _act = ChangeActForm(request.POST, prefix='act') if _act.is_valid(): _act.save(commit=False) current_act = Act.objects.get(pk=pk) current_act.start_date = _act.cleaned_data.get('start_date') current_act.end_date = _act.cleaned_data.get('end_date') current_act.is_active = _act.cleaned_data.get('is_active') current_act.info_processing = _act.cleaned_data.get('info_processing',) current_act.creditor_requirements = _act.cleaned_data.get('creditor_requirements') current_act.save() print("redirect doesn't work") return redirect('/act/' + str(pk) + '/') else: current_act = Act.objects.get(pk=pk) _act = ChangeActForm(initial={'start_date': current_act.start_date, 'end_date': current_act.end_date, 'info_processing': current_act.info_processing, 'is_active': current_act.is_active, 'creditor_requirements': current_act.creditor_requirements}, prefix='act') return render_to_response("changeact.html", {'act': _act}, context_instance=RequestContext(request))
def get(self,request): hostname = os.uname()[1] location = u'default' self.user_login(request) response = render_to_response('index.html',locals()) response["Access-Control-Allow-Origin"] = "*"#set django to cros mode expiration = getsettings('auth_timeout', 14*86400) #set django user login session time to 14 day if not self.request.COOKIES.get('gateone_user',None): response.set_cookie("gateone_user",signing.dumps(self.request.session['gateone_user'])) self.request.session.set_expiry(expiration) #print self.request.session.get('gateone_user',None) return response
def test_valid_input_redirects_to_login_page(self): response = self.client.post(reverse('register'), data={'username': 'tester', 'password1': 's3cur3p4ssw0rd', 'password2': 's3cur3p4ssw0rd'}) self.assertRedirects(response, reverse('login'))
def test_login_url_resolves_to_login_view(self): response = resolve(reverse('login')) self.assertEqual(response.func, login)
def test_login_uses_login_template(self): response = self.client.get(reverse('login')) self.assertTemplateUsed(response, 'registration/login.html')