Как предлагает пользователь 9000 выше, я нашел один способ сделать это.Я публикую это так, чтобы это было задокументировано на случай, если кому-то еще это понадобится, но я все еще надеюсь, что кто-то с большим опытом может сделать это лучшим способом.
Насколько я могу судить, вы не можете получить доступ к определенным функциямв блоке модуля через пространство имен, но вы можете получить доступ к <%def>
.По умолчанию <%def>
блокирует дамп прямо в буфер контекста, поэтому вам нужно выполнить некоторые искажения:
## base.mako
<%!
somevar = ["one", "two", "three"]
%>
<%def name="getSomeVar()">
<%
return somevar
%>
</%def>
Затем из другого шаблона импортируйте пространство имен base.mako как base
и получите доступ к ${base.getSomeVar()}
, чтобы получитьзначение somevar
.