I\'m trying to set up my django-registration activation workflow so that when the user hits the activation link it redirects them to the login page with a nice little messag
ilvar's response is probably a better way to do it, but I also managed to get it working by wrapping a view around django-registration view.
In urls.py
I now point to my new view
url(r'^accounts/activate/(?P<activation_key>\w+)/$',
Custom_Activation_View.as_view(),
{'backend': 'registration.backends.default.DefaultBackend'},
name='registration_activate'),
and in my views.py
file:
class Custom_Activation_View(TemplateView):
template_name='home.html'
def get(self, request, backend, success_url=None, extra_context=None, **kwargs):
messages.success(self.request, 'Activation complete, please login below')
return activate(self.request, backend, template_name=self.template_name, success_url='/', extra_context=None, **kwargs)
Django-registration is using signals to hook on some points. In your case it should be something like:
from registration import signals
def register_handler(request, **kwargs):
messages.success(request, 'Thank you!')
signals.user_registered.connect(register_handler)