0

これは初心者向けの間違いですが、今は十分な時間がありました。私は正確に何を検索するのか分からないために一部を引き受ける。Djangoのテンプレートにデータベースの内容が表示されない

私は小さなブログアプリケーションに取り組んでいます。私はuser、post、blogCommentのモデルを持っています。それだけです。

私はblogIndexとblogPostのビューを書いています。これは、すべての投稿と特定の投稿のリストです。

blogIndexは、それが属するビューで動作しています。{{post.content}} {{post.author.firstname}}などは問題なく表示されます。

ただし、blogPostはありません。ビューは次のようになります。

def blogPost(request, postID): 
    blogPost = post.objects.get(id=postID) 
    return render_to_response("blog_post.html", {"post":post}) 

blog_post.htmlは次のようになります。blog_index.htmlで同じコードで

title: {{ post.title }}</br> 
content: {{ post.content }}</br> 
datetime: {{ post.datetime }}</br> 
author: {{ post.author.first_name }} {{ post.author.last_name }}</br></br> 

{% for comment in post.blogcomment_set.all %} 
    Comment.firstName: {{comment.firstName}}</br> 
    {{comment.lastName}}</br> 
    {{comment.email}}</br> 
    {{comment.datetime}}</br> 
    {{comment.content}}</br> 
{% endfor %} 

、私は上のタイトル、コンテンツの適切なリストを取得します。

これはurls.pyからである:

url(r'^blog/$', blogIndex), 
url(r'^blog/(?P<postID>\d+)$', blogPost), 

私は何かが正規表現が間違っている疑いがありますか? ビューに間違いがある可能性がありますか?

これが動作しているblogIndex、ための図であるが、多分答えに役立ちます:可能に

{% for post in posts %} 
<h3><a href="/blog/{{ post.id }}">{{ post.title }}</a></h3> 
{{ post.content }} 
<p>Posted by: {{ post.author.first_name }} {{ post.author.last_name }}<br /> At:  
{{ post.datetime }}</p>  

<p><strong>Comments: </strong><br /> 
    {% for comment in post.blogcomment_set.all %} 
    By: {{ comment.firstname }}<br /> 
    Title: {{ comment.title }},<br /> 
    Content: {{ comment.content }}<br /> 
    Date: {{ comment.datetime }}</p> 
    {% endfor %} 
{% endfor %} 

リンク:

def blogIndex(request): 
    posts = post.objects.all() 
    return render_to_response("blog_index.html", {"posts":posts}) 

これ、最終的には、blog_index.htmlのコードです解決策または狭視されるための鼻の私を指して両方の歓迎された入力です。

答えて

4
def blogPost(request, postID): 
    blogPost = post.objects.get(id=postID) 
    return render_to_response("blog_post.html", {"post":post}) 

は次のようになります。一般的な援助として

def blogPost(request, postID): 
    blogPost = post.objects.get(id=postID) 
    return render_to_response("blog_post.html", {"post":blogPost}) 
+3

は、テンプレートに渡されたデータを確認するためにPPRINTフィルタを使用することができますあなたはそれだと思うものです。例えば。 '

{{post | pprint}}

'テンプレートとビューをハッキングしています。 – MattH

+0

ありがとう、私はそれが明らかだったことを知っていた。それはかなり気の利いたトリックです!もう一度、ありがとう。 – tomasantonj

+0

この種の間違いを心に抱かないでください、それは誰にも起こります。新鮮な目は、通常、最高の解決策です、あなたの休憩や他の誰かの後。 – MattH

関連する問題