Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 22, 2010 22:09:59

dissdoc
От:
Зарегистрирован: 2009-12-12
Сообщения: 273
Репутация: +  0  -
Профиль   Отправить e-mail  

Какая-то беда с фильтрами

Непонятная ситуация. Делаю не первый раз и таги и фильтры. Все работало.
Теперь если добавляю новый фильтр например - сервер выдает ошибку

Request Method:	GET
Request URL: http://iris/bugcatcher/profile/
Exception Type: TemplateSyntaxError
Exception Value:
Invalid filter: 'test_filter'
Exception Location: C:\server\python\lib\site-packages\django\template\__init__.py in find_filter, line 372
Python Executable: C:\server\apache\bin\httpd.exe
Python Version: 2.6.4
Пишу в одном файле много фильтров (может ошибка в этом)
Все подключаю. Все работает - а то что создаю сегодня - выдается вот такая ошибка (см. выше)
Сам код фильтра до банальности упростил и все равно не работает
@register.filter
def test_filter(value):
return 'test'
И все…
Могу добавить разве что, что django стоит из svn версия 1.2 beta 1



Офлайн

#2 Фев. 23, 2010 01:23:33

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Какая-то беда с фильтрами

Микс табы/пробелы? Названия переменных?
Что будет если стереть проблемный код?
А если потом копипаснуть внутри файла последний тег и заменить название?

Офлайн

#3 Фев. 23, 2010 12:24:57

dissdoc
От:
Зарегистрирован: 2009-12-12
Сообщения: 273
Репутация: +  0  -
Профиль   Отправить e-mail  

Какая-то беда с фильтрами

Если стереть фильтр, например, то все работает нормально.
Заметил такую особенность - пишем фильтр от балды какой-нить - точно такая же ошибка возникает. Т.е. смею предположить, что фильтр как будто не создается! Ну т.е. не регистрируется
Вообщем, его как бы не существует! Т.е. если берем

{{ string_test|test_filter }} - с моим фильтром
{{ string_test|abrakadabra }} - от балды
Ошибка одна и та же… :(

Сразу предупрежу - все файлы сохраняю)) Тестирую как на apache+mod_wsgi так и на девелоперском серваках



Отредактировано (Фев. 23, 2010 12:25:46)

Офлайн

#4 Фев. 23, 2010 13:06:01

dissdoc
От:
Зарегистрирован: 2009-12-12
Сообщения: 273
Репутация: +  0  -
Профиль   Отправить e-mail  

Какая-то беда с фильтрами

Нашел причину!
Смотрите какая ситуация.
у меня есть два файла main.html

{% load myfilters %}
{% block content %}
{% include test.html %}
{% endblock %}
test.html
{{ "test"|test_filter }}
Вот так не срабатывает
А если все в одном файле - то срабатывает.
Как мне передать фильтр в другой файл?



Отредактировано (Фев. 23, 2010 13:10:59)

Офлайн

#5 Фев. 23, 2010 15:13:01

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

Какая-то беда с фильтрами

dissdoc
Как мне передать фильтр в другой файл?
Никак. Вы должны их подгружать в каждом шаблоне, где используете.

И почему вы сразу не сказали, что так ненатурально пытаетесь фильтры использовать? Вы нам новый стеклянный шар должны:-)



Офлайн

#6 Фев. 23, 2010 15:54:05

dissdoc
От:
Зарегистрирован: 2009-12-12
Сообщения: 273
Репутация: +  0  -
Профиль   Отправить e-mail  

Какая-то беда с фильтрами

Да я честно говоря сам как-то на этот факт внимания не обращал.
А сегодня с утра решил по шагам проверить, что вообще выполняется и как…



Отредактировано (Фев. 23, 2010 15:54:27)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version