2011-04-10 6 views
0

: 私はDjango 1.3のテンプレートのリストが表示されないのはなぜですか?ビュー機能で

messages = Message.objects.filter(id__gt=int(id)) 

そしてprint str(len(messages))を持っているが、テンプレートで8

で、私は{{ messages|length }}を言って、結果は何が起こったのか0ですか?

私は正しいテンプレートを参照していると確信しています。なぜなら、ページにランダムなテキストが印刷されているからです。なぜ私はテンプレートのクエリーセットを見ることができないのですか?私はこれを何百回も使ってきたので、私は信じています。

+0

コンテキスト変数として渡しましたか? –

+0

はい、私はそう思います。私のコードをチェックしてください "html = get_template( 'element/message.html')。render(RequestContext(request、locals()))"また、私もdirect_to_templateを試しました。 – user469652

答えて

2

最も可能性の高い原因は、messages変数が実際にdjango.contrib.messagesによって提供されるコンテキストプロセッサによってオーバーライドされていることです。あなたのクエリーセットに別の名前をつけて、役立つかどうか確認してみてください。

+0

....私は最初に少し奇妙な印象を与えます。メッセージは要求に結びついているので、なぜrequest.messagesにそれらを投げないのですか?変数名を(実際にはこのようにオーバーライドして)作成するコンテクスト・プロセッサーは、私をグノーシス(定性的)で控え目なものにします。結局のところ、メッセージフレームワークが構築されているセッションフレームワークは、リクエストオブジェクトを介してセッションにアクセスできます。 – jMyles

+0

@jMylesおそらく、Djangoの設計上の決定の批判の場ではないでしょう。#django-developers [irc.freenode.net]やdjango-developersのGoogleグループについて質問します。 –

関連する問題