2015-07-04 29 views
0

我使用Django创建了一个博客,当我单击帖子标题时,我想在页面上显示单个帖子,无论使用的方法如何,我都无法在页面上显示任何内容。尝试在Django中创建DetailView页面

我的看法:

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 

这是当它的标题cliked必须显示单篇文章的html页面:

<!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> 

任何人都可以帮助我做到这一点吗?

+2

有两种类型的视图:基于类的视图和函数bas编辑视图。视图应该是一个或另一个。没有一点两个。 – allcaps

回答

0

我不知道你做了什么错误,但尝试这个,其实你不需要做太多:

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

​​

和模板,你有自动object例如,您可以像这样访问:

{{ object.name }} 
{{ object.biography }} 
+1

Hello @ doniyor 感谢您的想法!我已经按照您的建议实施了它,并且它可以无流动地工作 –