diff options
author | 2019-10-14 21:58:48 +1000 | |
---|---|---|
committer | 2019-10-14 21:58:48 +1000 | |
commit | 03d5a4c9b4240366c418ab4ac99be517788e2f13 (patch) | |
tree | c96b56d22411721fd5ba0eba17dc96cf23971689 /pydis_site/utils/views.py | |
parent | Merge pull request #282 from python-discord/upgrade-postgresql-to-12 (diff) | |
parent | Merge branch 'master' into #201-django-allauth (diff) |
Django Allauth (#201) (#274)
Django Allauth (#201)
Diffstat (limited to 'pydis_site/utils/views.py')
-rw-r--r-- | pydis_site/utils/views.py | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/pydis_site/utils/views.py b/pydis_site/utils/views.py new file mode 100644 index 00000000..c9803bd6 --- /dev/null +++ b/pydis_site/utils/views.py @@ -0,0 +1,25 @@ +from django.contrib import messages +from django.http import HttpRequest +from django.views.generic import RedirectView + + +class MessageRedirectView(RedirectView): + """ + Redirects to another URL, also setting a message using the Django Messages framework. + + This is based on Django's own `RedirectView` and works the same way, but takes two additional + parameters. + + * `message`: Set to the message content you wish to display. + * `message_level`: Set to one of the message levels from the Django messages framework. This + parameter defaults to `messages.INFO`. + """ + + message: str = "" + message_level: int = messages.INFO + + def get(self, request: HttpRequest, *args, **kwargs) -> None: + """Called upon a GET request.""" + messages.add_message(request, self.message_level, self.message) + + return super().get(request, *args, **kwargs) |