2012-06-06 3 views
1

У меня есть фильтр-шаблон, который я загружаю в свой шаблон.Template Filter crashing

Шаблон находится в:

- 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) 

И в моем шаблоне Джанго я делаю:

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

Но это взрывается, и я получаю TemplateSyntaxError: Invalid Filter. Это, кажется, очень низкая ошибка уровня, потому что я могу вызвать другие ошибки в шаблоне (например, удалив тег {% for %}, чтобы он в противном случае вызывал ошибку), но, похоже, он запускает этот TempalteSyntaxError почти до того, как страница будет ровной оказаны. Что здесь происходит?

+0

Проверьте каталог "userprofile/templatetags /", есть ли скомпилированные файлы python для init.py и extras.py? –

+1

Функция 'format' - только Python 2.6+. Не могли бы вы использовать более старую версию? –

+0

@ zubair89 на самом деле нет нет скомпилированных файлов там (они были созданы у меня, вручную импортируя его в подсказку). Таким образом, ответ не – David542

ответ

3

Проверьте каталог "userprofile/templatetags /", есть ли скомпилированные файлы python для init.py и extras.py?

Если в нем нет скомпилированных файлов, это означает, что на templatetags dir нет доступа к python. Убедитесь, что в этом каталоге установлен файл init.py, затем перезапустите сервер и снова проверьте файлы .pyc.