Mako を使用して、ネットワーク ルーター用の構成テンプレートをいくつか作成しています。
シンプルなルーターオブジェクトを作成したい
ファイル routers.py
class myRouter(Object):
def name(self):
return "Foo"
def interfaces(self):
return [{'name':'loopback','address':'127.0.0.1'},{...}]
次に、Mako と私のテンプレートを使用してレンダリングします
実行:
from mako import *
from routers import myRouter
z = myRouter()
mytemplate = Template(filename='config.mako')
print mytemplate.render(router=z)
ファイル config.mako
Router name is ${router.name()}!
Router interfaces are :
% for i in router.interfaces():
${i.name} -> ${i.address}
% endfor
出力:
ルーター名は
<bound method Router.name of <pyrouteur.Router object
> at 0x7fa10a912310>>
この動作を回避するにはどうすればよいですか?
ありがとう!