2012-01-07 1 views
1

J'utilise avec Mako comme Pylônes moteur templating et j'ai un modèle qui utilisecomment puis-je obtenir des imports d'espaces de noms dynamiques dans pylons/mako?

<%namespace name="foo" file="../bar.html"/> 

et

${foo.someFunction()} 

appeler someFunction(). De cette façon, il fonctionne correctement, mais maintenant je besoin du fichier « ../bar.html » pour être modifiable dynamiquement comme:

<%namespace name="foo" file="${c.filename}"/> 

c.filename est situé dans le contrôleur. De cette façon, il ne fonctionne pas et je reçois l'exception suivante:

NameError: nom global 'c' est pas défini

Partout ailleurs dans le modèle $ {} c.filename est fonctionne correctement.

Est-ce que quelqu'un sait comment je peux réaliser cette importation dynamiquement?

Merci à l'avance, ashiaka

Répondre

3

Il travaille quand je l'utilise:

<%namespace name="foo" file="${context['tmpl_context'].filename}"/> 

respectivement

<%namespace name="foo" file="${context['c'].filename}"/> 
+0

qui ne fonctionne pas pour moi. Quelle version de Mako utilisez-vous? –

+0

J'ai peur de ne plus le savoir. La seule chose dont je me souvienne est que j'ai travaillé avec pylons version 0.9.7 et sa version mako ... – ashiaka