我正在使用web2py和jQuery实现一个Web应用程序。我想使用jquery template plugin,但插件使用与web2py相同的模板表示法; {{ jQuery code }}
并与web2py模板发生冲突。
我有什么方法可以停用网络模板或转义{{
和}}
部分?
答案 0 :(得分:2)
你可以禁用web2py模板我只是简单地说控制器函数返回一个字符串。您可能还需要考虑这个选项:在jquery-tmpl.js中,您可以替换
/{{(\/?)(\w+|.)(?:\((.*?)\))?(?: (.*?))?}}/g
与
/{%(\/?)(\w+|.)(?:\((.*?)\))?(?: (.*?))?%}/g
并使用{%...%}
代替{{...}}
,因此不再与web2py语法冲突。同样,我们在web2py中添加了一个选项来切换语法。如果这很关键,请将其提交到web2py邮件列表。
答案 1 :(得分:2)
无论如何,我只是在web2py trunk中实现了任意分隔符。现在你可以在一个控制器中做到:
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 :(得分:0)
我还得替换
/\${([^}]*)}/g, "{{= $1}}
与
/\${([^}]*)}/g, "{%= $1%}
但之后它运作正常。谢谢!