0

ここにある Django 投票アプリをインストールしましたが、テンプレート タグを機能させることができません。たとえば、私が読んだことから、単に実行しています

{% load voting_tags %}
{% score_for_object object_name as score %}

動作するはずですが、単純なInvalid block tag: 'score_for_object'.

アプリをダウンロードして setup.py を実行し、Django Python シェルで投票してインストールされていることを確認しました。また、インストール済みアプリのリストに「voting」を追加し、「voting」フォルダーをプロジェクトに移動しました。"voting.templatetags.voting_tags",また、settings.py のテンプレート コンテキスト プロセッサのリストに追加しようとしました。

何か不足していますか?readme によると、モジュールが Python パス (setup.py を使用してインストールすると思われます) に存在することを確認し、それを installed_apps に追加して、syncdb. どんな助けでも大歓迎です。

{% load voting_tags %}編集:テンプレートでコマンドを使用しようとしました。投票モジュール内のタグの場所はvoting/templatetags/voting_tags.py. アプリケーションでエラーが表示されるようになりました:

'voting_tags.py' is not a valid tag library: Template library voting_tags.py not 
found, tried django.templatetags.voting_tags.py, 
   django.contrib.staticfiles.templatetags.voting_tags.py,voting.templatetags.voting_tags.py,
django.contrib.admin.templatetags.voting_tags.py

実際には、voting.templatetags.voting_tags.py という正しいディレクトリを試していることに注意してください。ただし、有効なものとして登録されていないようです。Django Documentationに固有の必要なコードが含まれています。つまり、次のとおりです。

from django import template
register = template.Library()

それにもかかわらず、私は運がありません。タグのライブラリが有効なタグ ライブラリと見なされないのはなぜですか? タグライブラリにするための正しいコードが欠けているか(上記のように、それは持っています)、voting.templatetags.voting_tags.py何らかの形でファイルをまったく見つけられない何らかのパスの問題があるように私には思えます。どんな洞察も私をかなり助けてくれるでしょう。

ありがとう、

パラゴンRG

4

1 に答える 1

1

テンプレートタグは、テンプレートコンテキストプロセッサとは異なります。テンプレートタグをロードしましたか?

{% load voting_tags %} 

{% load voting_tags.py %}それも間違っていることに注意してください。

于 2012-05-24T05:01:24.523 に答える