2

web2py と jQuery を使用して Web アプリを実装しています。jquery テンプレート プラグインを使用したいのですが、プラグインは web2py と同じテンプレート表記を使用します。{{ jQuery code }}web2py テンプレートと衝突します。

web2py テンプレートを無効にしたり、{{and}}の部分をエスケープしたりする方法はありますか?

4

3 に答える 3

2

とにかく、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 分前) ので、試してみて、うまくいくかどうかお知らせください。メーリングリストでフォローアップしてください。

于 2010-09-08T14:44:25.127 に答える
2

コントローラー関数が代わりに文字列を返すようにするだけで、web2py テンプレートを無効にすることができます。このオプションを検討することもできます: jquery-tmpl.js で置き換えることができます

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

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

{%...%}代わりに使用する{{...}}ので、web2py 構文と競合しなくなります。同様に、構文を切り替えるオプションをweb2pyに追加しました。これが重要な場合は、web2py メーリング リストで取り上げてください。

于 2010-09-08T13:50:31.107 に答える
0

I also had to replace

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

with

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

but after that it works fine. Thank you!

于 2010-09-08T14:04:03.193 に答える