2017-07-05 1 views
0

Mon Django urlpatterns:Django Url erreur directe

urlpatterns = [ 
url(r'^$', views.index, name='index'), 
url(r'^login', views.login_page, name='login'), 
url(r'^logout', views.logout_page, name='logout'), 
url(r'^register', views.register_page, name='register'), 
url(r'^create_book', views.create_book, name='create_book'), 

url(r'^^(?P<book_id>[0-9]+)/$', views.book_details, name='book_details'), 

url(r'^^(?P<book_id>[0-9]+)/create_entry$', views.create_entry, name='create_entry'), ] 

Je suis en train de le faire:

{% url 'book:book_details' book.pk %} 

Il donne cette erreur:

NoReverseMatch at/

Reverse for 'book_details' with keyword arguments '{'book_id': 1}' not found. 1 pattern(s) tried: ['^(?P<book_id>[0-9]+)/$']

Mais aller au localhost:8000/ <some id> directement dans le navigateur fonctionne

Comment puis-je écrire le {% url%} partie pour qu'il aille à/(certains id)

+0

1. C'est le site du client ~> Ouvrez le navigateur, appuyez sur F12, vérifiez la console. (vous verrez la requête d'url) Est-ce localhost: 8000/id –

+0

Non c'est la convoitise localhost/Comment résoudre ce problème? – user8239973

+1

Supprimer le supplément '^' de l'URL regex .. Je pense que cela provoque l'erreur. – zaidfazil

Répondre

1

changez cette ligne dans le modèle

{% url 'book:book_details' book.pk %} 

à

{% url 'book_details' book.pk %} 

et retirez le caret sign ^ supplémentaire de l'url

url(r'^(?P<book_id>[0-9]+)/$', views.book_details, name='book_details'), 

url(r'^(?P<book_id>[0-9]+)/create_entry$', views.create_entry, name='create_entry'),