django重定向问题。对象未正确加载

时间:2014-08-14 11:05:58

标签: python django

我正在尝试创建一个博客。该博客的主页将包含有关博客帖子的摘要(按日期排序)。

当用户点击主页上博客帖子的标题时,该帖子的页面应该会打开。

所以我正在努力解决上述问题并遇到一些问题。

以下是post.html文件的样子(显示完整帖子的文件):

{% extends "base.html" %}

{%block content %}

<div class="mainContent">
    <div class = "Content">
        <article class = "Typical Article">
            <header>
                <h3><a href="/blog/{{post.id}}">{{post.title}}.....{{post.id}}</a></h3>
            </header>

            <footer>
                <p class = "postInfo">Sukhvir Notra, {{post.date}}</p>
            </footer>

            <content>
                <p>{{post.summary|safe|linebreaks}}</p>
            </content>
        </article>
    </div>
</div>

{%endblock%}

这是我的app中的urls.py文件:

from django.conf.urls import patterns,include ,url
from django.views.generic import ListView, DetailView
from blog.models import blog

urlpatterns = patterns('',
    url(r'^$',ListView.as_view(queryset=blog.objects.all().order_by("-date")[:20],template_name="blog.html")),

    url(r'^(?P<pk>\d+)$',DetailView.as_view(model = blog,template_name="post.html")),

    url(r'^archives$',ListView.as_view(queryset=blog.objects.all().order_by("-date"),template_name="archives.html")),

    url(r'^latestnews$',ListView.as_view(queryset=blog.objects.all().order_by("-date")[:10],template_name="archives.html")),

    )

问题是当我点击主页上的标题时,新页面会打开并显示正确的URL(127.0.0.1/blog/1 --- 1是post.id)

但该页面为空白,我在页面上看到的只是.....。这告诉我{{post.id}},{{post.title}}变量不能正常工作。

可能导致此问题的原因是什么?

1 个答案:

答案 0 :(得分:1)

将网址中的context_object_name设置为您希望对象在模板中拥有的名称。

例如:

    url(r'^(?P<pk>\d+)$',DetailView.as_view(model = blog,template_name="post.html", context_object_name="post")),

除非另有说明,否则Django使用名称为object(对于DetailView)或object_list(对于ListView)的默认上下文对象。