2015-07-04 70 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 感謝您的想法!我已經按照您的建議實施了它,並且它可以無流動地工作 –

相關問題