2010-04-30 5 views
0

En essayant d'ajouter une section mise en cache à un modèle Mako, j'obtiens l'erreur listée dans la question ci-dessus. Ajoutant () à la fin se débarrasse de l'erreur, mais je ne vois pas de contenu sur ma page. Toute aide est appréciée!Mako "Parenthèses manquantes dans% def"

<%def name="test" cached="True" cache_timeout="60" cache_type="file"> 
    Test 
/%def> 

Répondre

0

Mon problème était que je ne savais pas que <%def> définit une fonction. Si j'utilise la parenthèse et appelez la fonction via ${test()} juste après la définition, cela fonctionne comme prévu.

-1

Ne devrait-vous utiliser parantheses tout en définissant le test def. Aussi, si le « cache », etc. sont des paramètres alors je pense que votre votre définition devrait être quelque chose comme ci-dessous:

<%def name="test(cached='True',cache_timeout='60',cache_type='file')"> 
    Test 
/%def> 

Voir aussi la Mako documentation

+0

J'ai bien sûr regardé la documentation de Mako. Cet exemple est presque directement à partir de là. http://www.makotemplates.org/docs/caching.html J'ai l'impression que vous ne faites que deviner. –

+0

J'ai utilisé Mako, mais pas dans le contexte de la génération de pages Web et je ne connaissais donc pas la mise en cache et les modalités associées. Je venais de répondre en pensant qu'il vous manquait les parenthèses (qui sont utilisées dans les définitions de def) et les mettre en place réglerait le problème. Mais je me trompais :( – sateesh