2010-09-08 8 views

Répondre

2

Vous pouvez désactiver la création de modèles web2py simplement en utilisant les fonctions du contrôleur. Vous pouvez également envisager cette option: dans jquery-tmpl.js vous pouvez remplacer

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

avec

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

et utiliser {%...%} en place de {{...}} donc pas plus de conflit avec la syntaxe web2py. De même, nous avons ajouté une option à web2py pour y changer la syntaxe. Si cela est essentiel, inscrivez-le sur la liste de diffusion web2py.

+0

Je pense que pour changer de syntaxe dans web2py, nous devrions attendre que le template arrive dans jquery core. – MeanShift

+0

web2py ne peut pas basculer car nous vous promettons une rétrocompatibilité. Nous pouvons donner différentes options. Quoi qu'il en soit, je suis d'accord. attendons voir. L'utilisation de {{..}} ne serait pas une bonne idée pour eux car elle est en conflit avec JS. – mdipierro

0

Je devais aussi remplacer

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

avec

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

mais après que cela fonctionne très bien. Je vous remercie!

2

Quoi qu'il en soit, je viens d'implémenter des délimiteurs arbitraires dans web2py trunk. Maintenant, vous pouvez le faire dans un contrôleur:

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') 

et par défaut/index.html:

{%=message%} 

Ceci est très nouveau (il y a 5 minutes) afin d'essayer et de me faire savoir si elle travaille pour toi. Veuillez faire un suivi sur notre liste de diffusion.

Questions connexes