Russian-speaking Python & Zope User Group

Я точно знаю, что id объекта = XXX, но сравнение выдает flase. В чем дело?

Пятница 4 июля 02:57 (GMT)
 В корень! |  О нас |  Python |  Zope |  Поиск Новости

О нас
Python
Zope
     Архитектура
     Введения
     Вопросы
     Что и как
     Документация
     Новости
     Публикации
     Компоненты
     Сайты
     Ссылки
     Хостинг
Новости
Copyright
Ответственность
Поиск

 Искать:

в Z-Каталоге
в Google

Весь Web
Только zope.net.ru

FlexFAQ

Активный раздел: Я точно знаю, что id объекта = XXX, но сравнение <dtml-if "id == 'XXX'"> выдает false. В чем дело?

Вопрос: Я точно знаю, что id объекта = XXX, но сравнение <dtml-if "id == 'XXX'"> выдает false. В чем дело?

Ответ: Проблема заключается в том, что иногда id не строка, а функция, которую еще надо вызвать. То есть в Вашем случае это будет <dtml-if "id() == 'XXX'">. Для того, чтобы не разбираться каждый раз отдельно, является ли id строкой или функцией, Вы можете заставить Zope выдавать строку или вызывать функцию: <dtml-if "_['id'] == 'XXX'">. Конструкция _['id'] автоматически рендерит объект, имя которого передано (в даном случае id). Это эквивалентно _.getitem('id', 1). Примечание. _.getitem('id', 0) вернет сам объект, без его насильственного вызова. Примечание 2. В Zope 2.3 будет введен интерфейс getId().


Zope
Plomino, build your business applications in Plone
RelStorage 1.0.1 Released
Silva Math Released
RelStorage 1.0 Released
z3ext announce
Powered by Zope
DTML код Текстовая версия Версия для распечатки
Copyright © 2000-2008 Russian-speaking Python & Zope User Group Ответственность