1

テンプレートにロードしているテンプレートフィルターがあります。

テンプレートは次のとおりです。

- userprofile/
  - templatetags/
    - __init__.py
    - extras.py

Userprofileはインストール済みのアプリにあり、エクストラを正しくインポートしているようです。

extras.pyの私のテンプレートタグは次のとおりです。

register = template.Library()

@register.filter
def minutes_seconds(seconds):
    """
    Format a time in seconds in the MM:SS form.
    """
    return '{:02}:{:02}'.format(int(seconds) / 60, int(seconds) % 60)

そして、私のdjangoテンプレートでは、次のことを行っています。

{% extends 'base.html' %}
{% load extras %}
...
{{ items|minutes_seconds }}

しかし、これは爆発し、私はを取得しTemplateSyntaxError: Invalid Filterます。テンプレートで他のエラーを引き起こす可能性があるため(たとえば、{% for %}タグを削除してエラーが発生するなど)、非常に低レベルのエラーのようですTempalteSyntaxErrorが、ページがレンダリングされるほぼ前にこれをトリガーしているようです。ここで何が問題になっていますか?

4

1 に答える 1

3

「userprofile/templatetags /」ディレクトリを確認してください。init.pyおよびextras.py用にコンパイルされたPythonファイルはありますか?

コンパイルされたファイルがそこにない場合は、templatetagsdirがPythonによってアクセスされていないことを意味します。init.pyファイルがそのディレクトリにあることを確認してから、サーバーを再起動して、.pycファイルを再度確認してください。

于 2012-06-06T06:27:33.443 に答える