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