diff options
-rw-r--r-- | pydis_site/apps/redirect/views.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/pydis_site/apps/redirect/views.py b/pydis_site/apps/redirect/views.py new file mode 100644 index 00000000..9a4bfd65 --- /dev/null +++ b/pydis_site/apps/redirect/views.py @@ -0,0 +1,18 @@ +from django.views.generic import RedirectView + + +class CustomRedirectView(RedirectView): + """Extended RedirectView for manual route args.""" + + permanent = True + static_args = () + + @classmethod + def as_view(cls, **initkwargs): + """Overwrites original as_view to add static args.""" + return super().as_view(**initkwargs) + + def get_redirect_url(self, *args, **kwargs): + """Extends default behaviour to use static args.""" + args = args + self.static_args + return super().get_redirect_url(*args, **kwargs) |