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} |