我是Django的新手,我在mysite目录下为我的博客应用程序编写URLConf的正确代码遇到了问题。博客显示在http://127.0.0.1:8000/blog/,但我无法使用超链接在博客中DetailView帖子。
我得到的错误是:
"使用在mysite.urls中定义的URLconf,Django按照以下顺序尝试这些URL模式:
- ^blog/ ^$
- ^blog/ ^(blog/?P\d+)/$
- ^admin/ 当前URL“blog/3”与其中任何一个都不匹配。"
我的mysite\blog\url.py文件如下:
from django.conf.urls import patterns, include, url
from django.views.generic import ListView,DetailView
from blog.models import Post
urlpatterns=patterns('',
url(r'^$',ListView.as_view(
queryset=Post.objects.all().order_by("-date")[:10],
template_name="blog.html")),
url(r'^(blog/?P<post_id>\d+)/$', DetailView.as_view(
model = Post,
template_name = "post.html")),
)
我该如何在我的博客应用程序中为帖子显示DetailView?我有博客、基本和post.html的模板文件。post.html如下所示:
{%extends "base.html"%}
{%block content%}
<h3><a href="/blog/{{post.id}}">{{post.title}}</a></h3>
<div class ="post_meta">
on {{post.date}}
</div>
<div class = "post_body">
{{post.body|safe}}
</div>
{% endblock %}