В питоне пустые значения возвращаются как None. Поэтому в шаблонах Jinja вместо пустых значений отображаются None. Что бы поправить это нужно изменить метод finalize. Пример из
google groups
def silent_none(value):
if value is None:
return ''
return value
from jinja2 import Environment
env = Environment()
env.finalize = silent_none
Теперь вместо None будет писаться пустая строка ''. В pylons нужно править файл environment.py
def silent_none(value):
""" Jinja fix output None
For more details:
http://groups.google.com/group/pocoo-libs/browse_thread/thread/490f6e6e8fca6a6c
"""
if value is None:
return ''
return value
def load_environment(global_conf, app_conf):
"""Configure the Pylons environment via the ``pylons.config``
object
"""
bla bla bla...
# Create the Jinja2 Environment
config['pylons.app_globals'].jinja2_env = Environment(loader=ChoiceLoader(
[FileSystemLoader(path) for path in paths['templates']]))
# replace None output to ''
config['pylons.app_globals'].jinja2_env.finalize = silent_none
# Jinja2's unable to request c's attributes without strict_c
config['pylons.strict_c'] = True
bla bla bla...
Комментариев нет:
Отправить комментарий