2012-01-30 11 views
7

Después de habilitar la interfaz de administrador y de iniciar el servidor web de desarrollo , p. 128.0.0.1:8000, soy capaz de llegan a la interfaz de administración deSolicitud de redireccionamiento a la interfaz de administrador

128.0.0.1:8000/admin. 

Obviamente debido al siguiente espacio de nombres URL

url(r'^admin/', include(admin.site.urls)). 

¿Qué tengo que hacer redirigir las peticiones de 128.0.0.1: 8000/automáticamente a 128.0.0.1:8000/admin?

El espacio de nombres URL

url(r'^$/', include(admin.site.urls)) 

no parece ser la solución.

+0

"No parece"? Por qué no? –

+1

Dios mío. Encontrado el error Su "url (r '^ $', include (admin.site.urls))". La barra diagonal única fue responsable del error. Pasa demasiado tiempo en esto. Gracias Daniel. – Simon

+0

'url ('', admin.site.urls),' en 'urlpatterns' funcionó para mí :) –

Respuesta

5

usted dice que quiere un redirigir por lo que usaría de Django RedirectView

from django.views.generic.base import RedirectView 
url(r'^$', RedirectView.as_view(url='/admin')) 
13

Uso RedirectView. En lugar de las URL de codificación, puede usar reverse y el nombre de una vista de administrador.

from django.core.urlresolvers import reverse 
from django.views.generic.base import RedirectView 

url(r'^$', RedirectView.as_view(url=reverse('admin:index'))) 
+4

Tuve que usar' reverse_lazy' en lugar de 'reverse' como se menciona en [esta respuesta] (http: // stackoverflow .com/a/24680788/1797912). De lo contrario, recibí un error 'ImpropelyConfigured' (" El urlconf [...] incluido .urls no tiene ningún patrón "). – Chriki

3

Esto funciona para mí. El reverse_lazy no.

Django 1.8.1 y por encima de

urlpatterns = patterns('', 
    url(r'^$', lambda x: HttpResponseRedirect('/admin')), 
) 
+1

Para django1.8.4 funciona. – mushfiq

0

soluciones anteriores, ya sea espectáculo redirección a una dirección URL o el uso codificadas de forma rígida métodos que no funcionan aquí. Éste trabaja en Django 1.9 y redirige al índice del administrador vista:

from django.shortcuts import redirect 

urlpatterns = patterns('', 
    url(r'^$', lambda _: redirect('admin:index'), name='index'), 
) 
Cuestiones relacionadas