尝试在 Django 中创建 DetailView 页面

Trying to create a DetailView page in Django

我使用 Django 创建了一个博客,当我点击 post 标题时,我想在页面上显示一个 post,但无论使用何种方法,我都无法在该页面上显示任何内容页。

我的观点:

class One_Per_Page(DetailView):
   model = AboutMe
   objects = AboutMe(id)

   def oneperpage(request):
      entry = One_Per_Page.objects.get_queryset(pk=AboutMe.id)
      #entries = super(One_Per_Page).get_queryset()
      return render_to_response('blog/aboutme_detail.html', {'AboutMe': entry})

这是我使用的URL:

url(r'^(?P<pk>\d+)$', One_Per_Page.as_view(), name='oneperpage

这是html页面,点击标题时必须显示一个post:

<!DOCTYPE html>
<html lang="en">

<head>
    <title>EBA</title>
    <meta charset="utf-8"/>
    <link rel="stylesheet" href="/static/css/styles.css" type="text/css">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>


<body class="body">
<header class="mainHead">
    <img src="/static/img/mainlogo.png" %} width="700" height="144" %}>
    <nav>
        <ul>
            <li><a href='/'>Home</a></li>
            <li><a href='/blog/'>Blog</a></li>
            <li><a href='{{ STATIC_URL }}/latestnews/'>News</a></li>
            <li><a href='{{ STATIC_URL }}/archive/'>Archive</a></li>
        </ul>
    </nav>
</header>

{% block content %}

    <div>
        <article>
            <h4>{{ entry.titleMe }}</h4>
                <p class="postInfo">
                    on {{ entry.dateMe }}
                </p>

            <div class="typicalArticle">
                {{ entry.contentMe|safe|linebreaks }}
            </div>
        </article>
    </div>
{% endblock %}


<footer class="mainFooter">
    <p> copyright &copy; 2015</p>
</footer>

</body>
</html>

谁能帮我做对吗?

我不知道你遇到了什么错误,但试试这个,实际上你不需要做太多:

url(r'^stuff/(?P<pk>\d+)/', One_Per_Page.as_view(
            template_name='detail.html'), name="detail")

class One_Per_Page(DetailView):
   model = AboutMe

并且在模板中,您自动拥有 object 您可以像这样访问的实例:

{{ object.name }}
{{ object.biography }}