0

このテンプレートタグは、ほとんどの人にとって魅力のように機能するようです。

http://blog.localkinegrinds.com/2007/09/06/digg-style-pagination-in-django/

何らかの理由で次のエラーが発生します:レンダリング中に例外が発生しました:'is_paginated'

このテンプレートタグをテンプレートで次のように使用します。

{% load digg_paginator %}
{% digg_paginator %}

digg_paginator.pyは私のapp/templatetagsフォルダーにあり、含まれているテンプレートコンテキストdigg_paginator.htmlは私のapp/templatesフォルダーにあります。ページ付けが必要なクエリセットは「宛先」と呼ばれます。を指定するだけの場合{% digg_paginator %}、ページ付けする変数をどのように知ることができますか?私はここで重要な何かを見逃している、または単に愚かなことを感じています:P

誰かが助けてくれるか、これがどのように行われるべきかを私に説明してください。

4

1 に答える 1

3

そのテンプレートタグの説明を読むと、組み込みの汎用ビューを使用してページ付けするように構築されていると書かれています。

PaginatorTagと同様に、このタグは非常に基本的な包含タグであり、汎用object_listビューでページ付けするときにコンテキストにすでに設定されている変数に基づいて構築されます。作成されたいくつかの追加のコンテキスト変数があります...

変数は汎用ビューによって設定されます(is_paginated前にリンクされたdjangoドキュメントのtemplate_contextセクションを参照してください)。

更新しました

そのページネーターを使用するには、Djangoの汎用ビュー機能を使用するようにビューを変更する必要があります。ビューまたはURLのコードを提供していないため、コードを変更する方法について具体的な提案をすることはできません。

Djangoチュートリアルを実行すると、パート4(最後のセクション)で、前のセクションで作成した単純なアプリケーションを変更して、汎用ビューを使用する方法を説明します。汎用ビューを使用する利点は、ほとんどのブレインデッドindex()およびdetail()ビューコードを自動的に処理することです。

これらのビューは、基本的なWeb開発の一般的なケースを表しています。つまり、URLで渡されたパラメーターに従ってデータベースからデータを取得し、テンプレートをロードして、レンダリングされたテンプレートを返します。これは非常に一般的であるため、Djangoは「汎用ビュー」システムと呼ばれるショートカットを提供します。

于 2010-03-26T16:06:11.670 に答える