本文整理汇总了Python中django.conf.settings.LOGIN_REDIRECT_URL属性的典型用法代码示例。如果您正苦于以下问题:Python settings.LOGIN_REDIRECT_URL属性的具体用法?Python settings.LOGIN_REDIRECT_URL怎么用?Python settings.LOGIN_REDIRECT_URL使用的例子?那么恭喜您, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在类django.conf.settings
的用法示例。
在下文中一共展示了settings.LOGIN_REDIRECT_URL属性的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: form_valid
# 需要导入模块: from django.conf import settings [as 别名]
# 或者: from django.conf.settings import LOGIN_REDIRECT_URL [as 别名]
def form_valid(self, form):
request = self.request
# If the test cookie worked, go ahead and delete it since its no longer needed
if request.session.test_cookie_worked():
request.session.delete_test_cookie()
# The default Django's "remember me" lifetime is 2 weeks and can be changed by modifying
# the SESSION_COOKIE_AGE settings' option.
if settings.USE_REMEMBER_ME:
if not form.cleaned_data['remember_me']:
request.session.set_expiry(0)
login(request, form.user_cache)
redirect_to = request.POST.get(REDIRECT_FIELD_NAME, request.GET.get(REDIRECT_FIELD_NAME))
url_is_safe = is_safe_url(redirect_to, allowed_hosts=request.get_host(), require_https=request.is_secure())
if url_is_safe:
return redirect(redirect_to)
return redirect(settings.LOGIN_REDIRECT_URL)
示例2: user_login
# 需要导入模块: from django.conf import settings [as 别名]
# 或者: from django.conf.settings import LOGIN_REDIRECT_URL [as 别名]
def user_login(request):
"""
View for logging users in.
"""
redirect_to = request.POST.get(REDIRECT_FIELD_NAME, request.GET.get(REDIRECT_FIELD_NAME, ''))
login_form = AuthenticationForm(request, data=request.POST)
if login_form.is_valid():
# Ensure the user-originating redirection url is safe.
if not is_safe_url(url=REDIRECT_FIELD_NAME, host=request.get_host()):
redirect_to = settings.LOGIN_REDIRECT_URL
# Okay, security check complete. Log the user in.
auth_login(request, login_form.get_user())
return redirect(settings.LOGIN_REDIRECT_URL if redirect_to == '' else redirect_to)
else:
return render(request, 'index.html', {'login_form': login_form, 'display': 'block', 'active': 'login'})
示例3: dispatch
# 需要导入模块: from django.conf import settings [as 别名]
# 或者: from django.conf.settings import LOGIN_REDIRECT_URL [as 别名]
def dispatch(self, request, uidb36, key, **kwargs):
self.request = request
self.key = key
# (Ab)using forms here to be able to handle errors in XHR #890
token_form = UserTokenForm(data={'uidb36': uidb36, 'key': key})
if not token_form.is_valid():
self.reset_user = None
messages.error(
self.request, _('Token is invalid !'))
return HttpResponseRedirect(settings.LOGIN_REDIRECT_URL)
else:
self.reset_user = token_form.reset_user
return super(ResetPasswordKeyView, self).dispatch(request,
uidb36,
key,
**kwargs)
示例4: test_inactive_session_timeout
# 需要导入模块: from django.conf import settings [as 别名]
# 或者: from django.conf.settings import LOGIN_REDIRECT_URL [as 别名]
def test_inactive_session_timeout(self):
"""
Verify that an inactive session times out and redirects to the
login page
"""
self.create_account(self.username, self.email, self.pw)
self.activate_user(self.email)
self.login(self.email, self.pw)
# make sure we can access courseware immediately
course_url = '/course/'
resp = self.client.get_html(course_url)
self.assertEquals(resp.status_code, 200)
# then wait a bit and see if we get timed out
time.sleep(2)
resp = self.client.get_html(course_url)
# re-request, and we should get a redirect to login page
self.assertRedirects(resp, settings.LOGIN_REDIRECT_URL + '?next=/course/')
示例5: post
# 需要导入模块: from django.conf import settings [as 别名]
# 或者: from django.conf.settings import LOGIN_REDIRECT_URL [as 别名]
def post(self, request):
form = self.form_class(request.POST)
next_ = request.POST.get('next', settings.LOGIN_REDIRECT_URL)
if next_ == '':
next_ = settings.LOGIN_REDIRECT_URL
if form.is_valid():
username = form.cleaned_data['username']
password = form.cleaned_data['password']
remember = form.cleaned_data['remember']
user = authenticate(username=username, password=password)
if user is not None:
if remember:
# Yearlong Session
request.session.set_expiry(24 * 365 * 3600)
else:
request.session.set_expiry(0)
login(request, user)
return redirect(next_)
else:
form.add_error(None, "Unable to authorize user. Try again!")
return render(request, self.template_name, {'form': form})
示例6: post
# 需要导入模块: from django.conf import settings [as 别名]
# 或者: from django.conf.settings import LOGIN_REDIRECT_URL [as 别名]
def post(self, request, *args, **kwargs):
default_redirect = reverse(settings.LOGIN_REDIRECT_URL)
raw_url = request.POST.get("next_url", default_redirect)
# Using window.location.href on the js side gives full domain + path,
# and we only want the path
parsed_url = urlparse(raw_url)
path = parsed_url.path
params = parsed_url.query
if params:
next_t = "{0}?{1}".format(path, params)
else:
next_t = path
# In case someone tries to login from the signup page, it would
# have a circular redirect, so we leave the session alone
login_or_signup = (reverse("account_login") in path) or (
reverse("account_signup") in path
)
if not login_or_signup:
request.session["next_url"] = next_t
# Complains if we don't explicitely return an HttpResponse, so send
# an empty one.
return HttpResponse("")
示例7: anonymous_required
# 需要导入模块: from django.conf import settings [as 别名]
# 或者: from django.conf.settings import LOGIN_REDIRECT_URL [as 别名]
def anonymous_required(function=None, redirect_url=None):
"""
Decorator requiring the current user to be anonymous (not logged in).
"""
if not redirect_url:
redirect_url = settings.LOGIN_REDIRECT_URL
actual_decorator = user_passes_test(
is_anonymous,
login_url=redirect_url,
redirect_field_name=None
)
if function:
return actual_decorator(function)
return actual_decorator
示例8: index
# 需要导入模块: from django.conf import settings [as 别名]
# 或者: from django.conf.settings import LOGIN_REDIRECT_URL [as 别名]
def index(request):
if request.user and request.user.is_authenticated:
return HttpResponseRedirect(settings.LOGIN_REDIRECT_URL)
if request.method == 'POST':
form = LoginForm(request.POST, request.FILES)
if form.is_valid():
user = form.user
if is_u2f_enabled(user):
request.session['u2f_pre_verify_user_pk'] = user.pk
request.session['u2f_pre_verify_user_backend'] = user.backend
login(request, form.user)
return JsonResponse({"error": False})
else:
return JsonResponse({"error": True, "errors": form.errors})
context = {
"registration_form": RegistrationForm,
"login_form": LoginForm
}
return render(request, 'login.html', context)
示例9: form_valid
# 需要导入模块: from django.conf import settings [as 别名]
# 或者: from django.conf.settings import LOGIN_REDIRECT_URL [as 别名]
def form_valid(self, form, forms):
if not form.validate_second_factor():
return self.form_invalid(forms)
del self.request.session['u2f_pre_verify_user_pk']
del self.request.session['u2f_pre_verify_user_backend']
self.request.session['verfied_otp'] = True
self.request.session['verfied_u2f'] = True
auth.login(self.request, self.user)
redirect_to = self.request.POST.get(auth.REDIRECT_FIELD_NAME,
self.request.GET.get(auth.REDIRECT_FIELD_NAME, ''))
if not is_safe_url(url=redirect_to, allowed_hosts=self.request.get_host()):
redirect_to = resolve_url(settings.LOGIN_REDIRECT_URL)
return HttpResponseRedirect(redirect_to)
示例10: test_security_check_https
# 需要导入模块: from django.conf import settings [as 别名]
# 或者: from django.conf.settings import LOGIN_REDIRECT_URL [as 别名]
def test_security_check_https(self):
login_url = reverse('login')
non_https_next_url = 'http://testserver/path'
not_secured_url = '%(url)s?%(next)s=%(next_url)s' % {
'url': login_url,
'next': REDIRECT_FIELD_NAME,
'next_url': quote(non_https_next_url),
}
post_data = {
'username': 'testclient',
'password': 'password',
}
response = self.client.post(not_secured_url, post_data, secure=True)
self.assertEqual(response.status_code, 302)
self.assertNotEqual(response.url, non_https_next_url)
self.assertEqual(response.url, settings.LOGIN_REDIRECT_URL)
示例11: test_redirect_loop
# 需要导入模块: from django.conf import settings [as 别名]
# 或者: from django.conf.settings import LOGIN_REDIRECT_URL [as 别名]
def test_redirect_loop(self):
"""
Detect a redirect loop if LOGIN_REDIRECT_URL is not correctly set,
with and without custom parameters.
"""
self.login()
msg = (
"Redirection loop for authenticated user detected. Check that "
"your LOGIN_REDIRECT_URL doesn't point to a login page"
)
with self.settings(LOGIN_REDIRECT_URL=self.do_redirect_url):
with self.assertRaisesMessage(ValueError, msg):
self.client.get(self.do_redirect_url)
url = self.do_redirect_url + '?bla=2'
with self.assertRaisesMessage(ValueError, msg):
self.client.get(url)
示例12: test_redirect_to_index_after_login
# 需要导入模块: from django.conf import settings [as 别名]
# 或者: from django.conf.settings import LOGIN_REDIRECT_URL [as 别名]
def test_redirect_to_index_after_login(self):
username = 'taro'
email = 'taro@example.com'
password = 'testpassword'
self._create_user(
username=username,
email=email,
password=password,
)
data = {
'username': username,
'password': password,
}
r = self.client.post(reverse('accounts:login'), data)
self.assertRedirects(
r,
settings.LOGIN_REDIRECT_URL,
fetch_redirect_response=False,
)
示例13: done
# 需要导入模块: from django.conf import settings [as 别名]
# 或者: from django.conf.settings import LOGIN_REDIRECT_URL [as 别名]
def done(self, form_list, **kwargs):
"""
Login the user and redirect to the desired page.
"""
login(self.request, self.get_user())
redirect_to = self.request.GET.get(self.redirect_field_name, '')
if not is_safe_url(url=redirect_to, host=self.request.get_host()):
redirect_to = resolve_url(settings.LOGIN_REDIRECT_URL)
if self.get_user().richiedi_attivazione_2fa:
redirect_to = resolve_url(settings.TWO_FACTOR_PROFILE)
device = getattr(self.get_user(), 'otp_device', None)
if device:
signals.user_verified.send(sender=__name__, request=self.request,
user=self.get_user(), device=device)
return redirect(redirect_to)
示例14: login
# 需要导入模块: from django.conf import settings [as 别名]
# 或者: from django.conf.settings import LOGIN_REDIRECT_URL [as 别名]
def login(request, template_name='registration/login.html',
redirect_field_name=REDIRECT_FIELD_NAME,
authentication_form=AuthenticationForm,
current_app=None, extra_context=None):
"""
Displays the login form and handles the login action.
"""
redirect_to = request.POST.get(redirect_field_name,
request.GET.get(redirect_field_name, ''))
if request.method == "POST":
form = authentication_form(request, data=request.POST)
if form.is_valid():
# Ensure the user-originating redirection url is safe.
if not is_safe_url(url=redirect_to, host=request.get_host()):
redirect_to = resolve_url(settings.LOGIN_REDIRECT_URL)
# Okay, security check complete. Log the user in.
auth_login(request, form.get_user())
return HttpResponseRedirect(redirect_to)
else:
form = authentication_form(request)
current_site = get_current_site(request)
context = {
'form': form,
redirect_field_name: redirect_to,
'site': current_site,
'site_name': current_site.name,
}
if extra_context is not None:
context.update(extra_context)
if current_app is not None:
request.current_app = current_app
return TemplateResponse(request, template_name, context)
示例15: done
# 需要导入模块: from django.conf import settings [as 别名]
# 或者: from django.conf.settings import LOGIN_REDIRECT_URL [as 别名]
def done(self, form_list, **kwargs):
"""
Login the user and redirect to the desired page.
"""
login(self.request, self.get_user())
redirect_to = self.request.POST.get(
self.redirect_field_name,
self.request.GET.get(self.redirect_field_name, '')
)
if not is_safe_url(url=redirect_to, host=self.request.get_host()):
redirect_to = resolve_url(settings.LOGIN_REDIRECT_URL)
is_auth = False
user = self.get_user()
device = getattr(self.get_user(), 'otp_device', None)
if device:
signals.user_verified.send(sender=__name__, request=self.request,
user=self.get_user(), device=device)
redirect_to = resolve_url("dashboard:main")
is_auth = True
elif ENFORCE_2FA:
redirect_to = resolve_url("two_factor:profile")
else:
redirect_to = resolve_url("dashboard:main")
is_auth = True
if not self.request.POST.get('remember', None):
self.request.session.set_expiry(0)
try:
Profile.objects.get(user=user)
except ObjectDoesNotExist:
profile = Profile()
profile.user = user
profile.hide_closed = False
profile.incident_number = 50
profile.save()
if user.is_active:
log("Login success", user)
init_session(self.request)
return redirect(redirect_to)