Отключить или изменить {{}} разделители в шаблонах web2py? - PullRequest
2 голосов
/ 08 сентября 2010

Я реализую веб-приложение, используя web2py и jQuery. Я хочу использовать плагин jquery , но плагин использует те же обозначения для шаблонов, что и web2py; {{ jQuery code }} и сталкивается с шаблонами web2py.

Можно ли как-то отключить шаблоны web2py или экранировать части {{ и }}?

Ответы [ 3 ]

2 голосов
/ 08 сентября 2010

В любом случае, я только что реализовал произвольные разделители в транке web2py.Теперь вы можете сделать в контроллере:

def render(filename,**variables):
    context = globals()
    context.update(variables)
    from gluon.template import render
    return render(filename=os.path.join(request.folder,'views',filename),
                  path=os.path.join(request.folder,'views'),
                  context=context,delimiters=('{%','%}'))

def index():
    return render('default/index.html',message='hello world')

и в default / index.html:

{%=message%}

Это очень ново (5 минут назад), поэтому попробуйтеЯ знаю, если это работает для вас.Пожалуйста, следите за нашей рассылкой.

2 голосов
/ 08 сентября 2010

Вы можете отключить использование шаблонов web2py, так как функции контроллера просто возвращают строку.Вы также можете рассмотреть эту опцию: в jquery-tmpl.js вы можете заменить

/{{(\/?)(\w+|.)(?:\((.*?)\))?(?: (.*?))?}}/g

на

/{%(\/?)(\w+|.)(?:\((.*?)\))?(?: (.*?))?%}/g

и использовать {%...%} вместо {{...}}, поэтому нетбольше противоречит синтаксису web2py.Точно так же мы добавили опцию в web2py для переключения там синтаксиса.Если это важно, включите его в список рассылки web2py.

0 голосов
/ 08 сентября 2010

Мне тоже пришлось заменить

/\${([^}]*)}/g, "{{= $1}} 

с

/\${([^}]*)}/g, "{%= $1%}

но после этого работает нормально. Спасибо!

...