2012-01-28 36 views
2

我很难与可选的tal属性。TAL属性 - 如果属性变量是什么都没有,然后把“this”,而不是

<tal:block define="y_width options/youtube_width | nothing;"> 

    <div width="437" tal:attributes="width y_width | string:600;"></div> 

</tal:block> 

我想保持它,这样,如果用户没有在宽度值中输入任何选项,则默认为437。我以为我可以在定义块改变“或没有”运营商但那不起作用。以上是我试过放置或放置属性后的另一件事,但无论如何,代码只是消失。我该如何做到这一点,如果用户输入值为空,代码默认为某些值?

回答

2

你必须在这里使用一个Python表达式,为|管道运营商只能踢上AttributeErrorKeyError,但在你的情况“y_width”将None

<tal:block define="y_width options/youtube_width | nothing;"> 

    <div width="437" tal:attributes="width python:y_width or 600;" ></div> 

</tal:block> 
+0

太谢谢你了! ! – Mallow 2012-01-28 17:24:35