我在博客上工作,我正在尝试从每篇博文中创建一条评论链接,该帖子将会显示一个页面,其中可以看到带有评论的个别帖子。
在我的" list.html"中列出了所有博客帖子,我为每篇博文都提供了此代码:
<div class="blogpost-comments"><a href="{% url 'post' post.id %}">Comments</a></div>
然后提交到我的URLconf,如下所示:
urlpatterns = patterns('',
url(r'^$', views.index, name='index'),
# ex: /post/5/ pk=5
url(r'^post/(?P<pk>\d+)/$', views.post, name='post'),
)
在我的观点下方显示:
def post(request, pk):
post = Post.objects.get(pk=pk)
return render(request, 'blog/post.html', {'post': post, 'user': request.user})
我想拥有网址结构:
/blog/post/{pk}/
访问个别帖子。出于某种原因,我目前收到错误:
NoReverseMatch at /blog
Reverse for 'post' with arguments '(6L,)' and keyword arguments '{}' not found. 1 pattern(s) tried: ['blog$post/(?P<pk>\\d+)/$']
我不明白。有人可以帮忙吗?
编辑:
主要的urls.py如下:
from django.conf.urls import patterns, include, url
from django.contrib import admin
urlpatterns = patterns('',
url(r'^blog/$', include('blog.urls')),
url(r'^admin/', include(admin.site.urls)),
)
答案 0 :(得分:4)
从
中删除$
url(r'^blog/$', include('blog.urls')),
所以它是
url(r'^blog/', include('blog.urls')),
您实际上并未包含您的博客网址,因为正则表达式停靠在$