Проверьте, есть ли у Dict шаблона Cheetah ключ - PullRequest
1 голос
/ 03 июня 2011

Я пытаюсь придумать базовый шаблон для приложения, и одной из целей будет удаление ненужных js / css со страниц, поэтому я хочу сделать что-то в шаблоне гепарда, например

#if $dict.has_key('datepicker'):
  <link rel="stylesheet" href="$datepicker" type="text/css" />
#end if

Я думаю, что это также поможет с ошибками, например, у namemap нет ключа 'datepicker'

Моя текущая ошибка, с которой я сталкиваюсь при использовании WSGIHandler:

TypeError: descriptor 'has_key' requires a 'dict' object but received a 'str'

Мне кажется, этоя возвращаю обработчик как str, но не должен анализировать шаблон до того, как он попадет в str

t = Template(file=WORKSPACE_PATH+"/tmpl/posts.html", searchList=[tmpldict])
self.response_body = str(t).encode('utf8')
return str(t)

1 Ответ

1 голос
/ 03 июня 2011

Ошибка заключается в следующем:

dict.has_key('datepicker')

"dict" - это класс, поэтому он ожидает, что первый аргумент "dict.has_key" будет экземпляром "dict".

Вы передаете строку вместо объекта dict.

По сути, "d.has_key (k)" эквивалентен "dict.has_key (d, k)", и у вас есть последнее.

...