Reputation: 11
Django version: 1.11.4
Python: 3.6.1
I want to add a line to my html file:
<a class="pure-button" href="{% url 'detail' id=post.id %}">Read More </a>
views.py:
def detail(request, id):
try:
post = Article.objects.get(id=int(id))
except Article.DoesNotExist:
raise Http404
return render(request, 'post.html', {'post':post})
url.py:
from django.conf.urls import url,include
from django.contrib import admin
import article.views
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^(\d+)', article.views.detail),
url(r'^', article.views.home),
]
I met the following errors:
NoReverseMatch at /
Reverse for 'detail' not found. 'detail' is not a valid view function or pattern name.
Request Method: GET
Request URL: http://localhost:8000/
Django Version: 1.11.4
Exception Type: NoReverseMatch
Exception Value:
Reverse for 'detail' not found. 'detail' is not a valid view function or pattern name.
Who can help me? Many thanks!
Upvotes: 1
Views: 5317
Reputation: 27503
url(r'^(?P<id>\d+)/$', article.views.detail, name='detail'),
change the url of your details view to the upper one
Upvotes: 3