Django não permite que você use url nomeado em seus urlpatterns, o código a seguir irá gerar uma exceção:
(r'^blog/category/pictures/$',
RedirectView().as_view(url='gallery-index'))
Além disso, chamar reverse
ou mesmo reverse_lazy
em urls.py causa erros.
Aqui está uma solução alternativa:
from django.views.generic import RedirectView
from django.core.urlresolvers import reverse
class NamedUrlRedirectView(RedirectView):
def __init__(self, url, *args, **kwargs):
self.url = reverse(url)
super(NamedUrlRedirectView, self)
.__init__(*args, **kwargs)
Então, em seu url.py, você pode fazer isso (após importar NamedUrlRedirectView):
(r'^blog/category/pictures/$',
NamedUrlRedirectView().as_view(
url='gallery-index'))