title: NoReverseMatch, but resolved on page refresh
body: <p>Using Django 1.8.6 and Python 2.7.9, I am encountering a strange phenomenon where my account activation URL is throwing a "NoReverseMatch" error, but once if I refresh the page, the error is resolved and the account is successfully activated. I've tried removing the '$' from each URL, I've tried namespacing URL's, and I've tried replacing the redirect with a template view. None of those have solved the error.</p>
  
  <p>More specifically, I get the following error: <code>Reverse for 'registration_activation_complete' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []</code>. </p>
  
  <p><strong>registration.backends.default.urls.py</strong></p>
  
  <pre><code>from django.conf.urls import patterns
  from django.conf.urls import include
  from django.conf.urls import url
  from django.conf import settings
  from django.views.generic.base import TemplateView
  from django.views.generic import RedirectView
  
  from .views import ActivationView
  from .views import RegistrationView
  
  
  urlpatterns = patterns('',
                         url(r'^activate/complete/$',RedirectView.as_view(url='https://www.gather.kitchen/login/')),
                         url(r'^activate/(?P&lt;activation_key&gt;\w+)/$',
                             ActivationView.as_view(),
                             name='registration_activate'),
                         url(r'^register/complete/$',
                             TemplateView.as_view(template_name='registration/registration_complete.html'),
                             name='registration_complete'),
                         url(r'^register/closed/$',
                             TemplateView.as_view(template_name='registration/registration_closed.html'),
                             name='registration_disallowed'),
                         )
  
  if getattr(settings, 'INCLUDE_REGISTER_URL', True):
      urlpatterns += patterns('', 
          url(r'^register/$',
              RegistrationView.as_view(),
              name='registration_register'),
      )
  
  if getattr(settings, 'INCLUDE_AUTH_URLS', True):
      urlpatterns += patterns('', 
          (r'', include('registration.auth_urls')),
      )
  </code></pre>
  
  <p><strong>registration.backends.default.views.py (ActivationView)</strong></p>
  
  <pre><code>class ActivationView(BaseActivationView):
      def activate(self, request, activation_key):
          """
          Given an an activation key, look up and activate the user
          account corresponding to that key (if possible).
  
          After successful activation, the signal
          ``registration.signals.user_activated`` will be sent, with the
          newly activated ``User`` as the keyword argument ``user`` and
          the class of this backend as the sender.
  
          """
          activated_user = (RegistrationProfile.objects
                            .activate_user(activation_key))
          if activated_user:
              signals.user_activated.send(sender=self.__class__,
                                          user=activated_user,
                                          request=request)
          return activated_user
  
      def get_success_url(self, request, user):
          return ('registration_activation_complete', (), {})
  </code></pre>
  
  <p><strong>registration.views.py (ActivationView)</strong></p>
  
  <pre><code>class ActivationView(TemplateView):
      """
      Base class for user activation views.
  
      """
      http_method_names = ['get']
      template_name = 'registration/activate.html'
  
      def get(self, request, *args, **kwargs):
          activated_user = self.activate(request, *args, **kwargs)
          if activated_user:
              success_url = self.get_success_url(request, activated_user)
              try:
                  to, args, kwargs = success_url
                  return redirect(to, *args, **kwargs)
              except ValueError:
                  return redirect(success_url)
          return super(ActivationView, self).get(request, *args, **kwargs)
  
      def activate(self, request, *args, **kwargs):
          """
          Implement account-activation logic here.
  
          """
          raise NotImplementedError
  
      def get_success_url(self, request, user):
          raise NotImplementedError
  </code></pre>
  
  <p>The debugger indicates that the error is occurring in the method 'get' at the line <code>return redirect(to, *args, **kwargs)</code>.</p>
  
  <p>Also, the local vars I am passing are the following:</p>
  
  <pre><code>self: &lt;registration.backends.default.views.ActivationView object at 0x0394A570&gt;
  args: ()
  request: "&lt;WSGIRequest\npath:/accounts/activate/686420ac51ee99765c2847b819513365d6e812fc/........etc.&gt;"
  activated_user: &lt;MyUser: abc123@example.com&gt;
  to: 'registration_activation_complete'
  success_url: ('registration_activation_complete', (), {})
  kwargs: {}
  </code></pre>
  
  <p>There are other similar SO questions out there, and I have already tried implementing all of the solutions that have been proposed. None of them have been fruitful. Can anyone tell me what I'm doing incorrectly?</p>