Si estás en Django 1.4 o 1.5, puedes hacer esto:
from django.core.urlresolvers import reverse_lazy
from django.views.generic import RedirectView
urlpatterns = patterns('',
url(r'^some-page/$', RedirectView.as_view(url=reverse_lazy('my_named_pattern'), permanent=False)),
...
Si tiene Django 1.6 o superior, puede hacer esto:
from django.views.generic import RedirectView
urlpatterns = patterns('',
url(r'^some-page/$', RedirectView.as_view(pattern_name='my_named_pattern', permanent=False)),
...
En Django 1.9, el valor predeterminado de permanent
ha cambiado de verdadero a falso. Debido a esto, si no especifica el permanent
argumento de la palabra clave, puede ver esta advertencia:
RemovedInDjango19Warning: el valor predeterminado de 'RedirectView.permanent' cambiará de True a False en Django 1.9. Establezca un valor explícito para silenciar esta advertencia.
(r'^.*/$', RedirectView.as_view(url='http://newurl.com')),
pattern_name
argumento aRedirectView
ejecuta inversa para usted en el momento de la llamada utilizando el nombre del patrón dado. Otros parámetros útiles incluyenpermanent
yquery_string
.