【发布时间】:2016-03-18 04:20:24
【问题描述】:
我有Post。在索引页面中,我显示了所有这些,按created_at 排序,如下所示:
class IndexView(TemplateView):
template_name = 'blog/index.html'
def get(self, request):
return render (request, self.template_name, {
'posts': Post.objects.order_by('-created_at')
})
我创建了一个视图,打算重定向到另一个页面,显示整个帖子。这是 url.py:
urlpatterns = [
url(r'^$', views.IndexView.as_view(), name = 'index'),
url(r'^categories/$', views.CategoriesView.as_view(), name = 'categories'),
url(r'^post/(?P<id>[0-9]+)/$', views.Post.as_view(), name = 'post')
]
以及对此类的看法:
class Post(TemplateView):
template_name = 'post.html'
def get(self, request):
id = request.GET.get('id', '')
return render(request, self.template_name, {
'post': get_object_or_404(Post, pk = id)
})
但是我得到了错误:
AttributeError at /
type object 'Post' 没有属性 'objects'。
【问题讨论】:
-
您应该为此使用 DetailView。