Ho un modello di mako A che include il modello di mako B più di una volta. Il modello B di Mako si aspetta determinati argomenti e ho bisogno di impostarli su valori diversi su include.È possibile passare argomenti variabili al tag include in Mako?
In A.mak:
<%include
file="/components/B.mak"
args="lItems=some_variable, foo='bar'"
/>
<%include
file="/components/B.mak"
args="lItems=some_other_variable, foo='moooo'"
/>
In B.mak:
<%page args="lItems, foo"/>
%for dItem in lItems:
etc
È questo il genere di cose anche possibile? So che funzionerà se imposto lItems su 'some_value' e 'some_other_value' (es .: stringhe codificate direttamente in A.mak) ma voglio renderizzare A.mak con some_variable = [some,craze,list]
e some_other_variable = [some,other,craze,list]
.
Il codice di cui sopra mi dà l'errore:
File ".../mako/runtime.py", line 202, in __str__
raise NameError("Undefined")
NameError: Undefined
Ho anche provato a fare la include in questo modo:
<%include
file="/components/B.mak"
args="lItems=${some_other_variable}, foo='moooo'"
/>
ma questo è un errore di sintassi ...
ho provato utilizzando un def anche:
${the_B_def(foo='bar',lItems=some_variable)}
e ottenuto NameError: Undefined
.
Quindi la mia domanda è: come posso passare le variabili ai modelli "all'interno" di un modello?
Docs hanno un esempio: http://docs.makotemplates.org /en/latest/syntax.html#include – Javier