class RedirectURLMixin
from django.contrib.auth.views import RedirectURLMixin
Descendants
Attributes
Defined in | |
---|---|
next_page = None
|
RedirectURLMixin |
redirect_field_name = 'next'
|
RedirectURLMixin |
success_url_allowed_hosts = set()
|
RedirectURLMixin |
Methods
def
get_default_redirect_url(self):
RedirectURLMixin
¶
def
get_default_redirect_url(self):
RedirectURLMixin
¶
Return the default redirect URL.
58 59 60 61 62 | def get_default_redirect_url(self):
"""Return the default redirect URL."""
if self.next_page:
return resolve_url(self.next_page)
raise ImproperlyConfigured("No URL to redirect to. Provide a next_page.")
|
def
get_redirect_url(self):
RedirectURLMixin
¶
def
get_redirect_url(self):
RedirectURLMixin
¶
Return the user-originating redirect URL if it's safe.
43 44 45 46 47 48 49 50 51 52 53 | def get_redirect_url(self):
"""Return the user-originating redirect URL if it's safe."""
redirect_to = self.request.POST.get(
self.redirect_field_name, self.request.GET.get(self.redirect_field_name)
)
url_is_safe = url_has_allowed_host_and_scheme(
url=redirect_to,
allowed_hosts=self.get_success_url_allowed_hosts(),
require_https=self.request.is_secure(),
)
return redirect_to if url_is_safe else ""
|
def
get_success_url(self):
RedirectURLMixin
¶
def
get_success_url(self):
RedirectURLMixin
¶
40 41 | def get_success_url(self):
return self.get_redirect_url() or self.get_default_redirect_url()
|
def
get_success_url_allowed_hosts(self):
RedirectURLMixin
¶
def
get_success_url_allowed_hosts(self):
RedirectURLMixin
¶
55 56 | def get_success_url_allowed_hosts(self):
return {self.request.get_host(), *self.success_url_allowed_hosts}
|