我正在試圖在瀏覽器上運行與django
的博客版本。而我得到這個錯誤:運行Django時,'Reverse'是什麼意思?
NoReverseMatch at/
Reverse for 'blog.views.post_detail' not found.
'blog.views.post_detail' is not a valid view function or pattern name.
我url.py我的應用程序的樣子:
from django.conf.urls import include, url
from . import views
urlpatterns = [
url(r'^$', views.post_list),
url(r'^post/(?P<pk>[0-9]+)/$', views.post_detail),
]
看來,當我鍵入127.0.0.1:8000/。
該網址將指向views.post_list
。
而我views.py樣子:
from django.shortcuts import render, get_object_or_404
from .models import Post
def post_list(request):
posts = Post.objects.filter(published_date__isnull=False)
return render(request, 'blog/post_list.html', {'posts': posts}
def post_detail(request, pk):
post = get_object_or_404(Post, pk=pk)
return render(request, 'blog/post_detail.html', {'post': post})
post_list()
將呈現與post_list.html請求。
裏面post_list.html,錯誤來自行:
<h1><a href="{% url 'blog.views.post_detail' pk=post.pk %}">{{ post.title }}</a></h1>
我真的不明白「反向」是指在錯誤消息。 'blog.views.post_detail'確實存在於views.py。我想我得到了代碼所需的一切,但無法弄清楚哪裏出了問題。
我是新來的django,抱歉,如果問題是基本的,謝謝回答!
也許看看[此帖](https://開頭stackoverflow.com/questions/43453368/noreversematch-at-product-pussyes-reverse-for-basket-adding-not-found-bask) – PRMoureu
你在哪裏定義你想鏈接到的post_detail的URL? –