9
votes

Les URL de l'application Django ne fonctionnent pas

Dans une application d'une application's URLS.PY J'ai:

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


2 commentaires

Avez-vous importé app.views dans app.urls ?


essayé avec l'importation et sans


4 Réponses :


12
votes

Votre URL de base devrait être:

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


4 commentaires

Il n'a pas aidé les «produits» de la route pour travailler, mais a cassé la route «index»


Si vous supprimez la barre oblique de fin et déplacez le motif sous l'administrateur, vous pourrez accéder à la fois à l'index et aux vues des produits.


Essayé (r '^', inclure ('app.urls')), - fonctionne bien pour tous les cas


Cela ne fonctionne qu'avec r '^' Pas avec R '^ /' Comme vous avez fourni votre réponse.



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

2 commentaires

Vous devez déplacer la ligne pour les URL de l'administrateur avant votre application.


J'ai aussi pensé que je devrais, pour une raison quelconque, l'URL d'administrateur fonctionne toujours avec une telle configuration.



5
votes

Le '$' n'est utilisé que pour les URL. Si vous regardez le doc, il vous indiquera que vous n'utilisez pas le «$» lors de l'utilisation include ().


0 commentaires

1
votes

J'avais le même problème lors de l'utilisation d'un chemin () dans les URL de Django. Le correctif simple est que vous n'avez pas à utiliser la barre oblique à la fin du chemin Sinon, Django prendra cette URL comme URL complète et ne va pas aller au fichier URLs.py suivant

//this will not work    
path('/', include('app.urls'), name='profile_page')

// but this will work
path('', include('app.urls'), name='profile_page')


0 commentaires