2010-11-07 16 views
8

En urls.py de una aplicación que tengo:direcciones URL de aplicaciones Django no trabajar

urlpatterns = patterns('app.views', 
    url(r'^products/$', products, name="products"), 
    url(r'^$', index, name="index"), 
) 

En proyecto de la base urls.py tengo:

urlpatterns = patterns('', 
    (r'^$', include('app.urls')), 
    (r'^admin/', include(admin.site.urls)), 
) 

Por qué http://127.0.0.1:8000/ - funciona bien con app.views. método de índice mientras que http://127.0.0.1:8000/products/ - devuelve el error 404 y no está definido en las rutas url?

pasado algún tiempo en el que ya no puede encontrar una solución, tal vez hay algo simple que echo de menos ...

+0

importó 'app.views' en' app.urls'? –

+0

intentado con la importación y sin – Zelid

Respuesta

11

sus URL base debe ser:

urlpatterns = patterns('', 
    (r'^', include('app.urls')), 
    (r'^admin/', include(admin.site.urls)), 
) 
+1

no ayudó a los "productos" ruta al trabajo, pero rompió la ruta "índice" – Zelid

+0

Si quita la barra inclinada y mueve el patrón por debajo del de administración, podrá acceder tanto al índice y vistas de los productos. – ayaz

+4

Intentó (r '^', include ('app.urls')), - funciona bien para todos los casos – Zelid

4
urlpatterns = patterns('', 
    (r'^', include('app.urls')), 
    (r'^admin/', include(admin.site.urls)), 
) 

funcionó bien .

+0

debe mover la línea para las URL de administrador ANTES de su aplicación. ¡Consulte! –

+0

También pensé que debería, por alguna razón admin url todavía funciona con dicha configuración. – Zelid

5

El '$' solo se usa para direcciones URL. Si mira el documento, le indicará que no use '$' cuando use include().

Cuestiones relacionadas