我一直关注this URL来帮助我使用BrowserView创建模板视图。到目前为止,它工作正常,我能够创建一个带有视图类的模板。
我需要知道的是,是否可以将参数传递给视图类中的方法,即
from Products.Five import BrowserView
class Html(BrowserView):
def still_dreaming(self):
msg = "Some people are still dreaming"
return msg
我需要在still_dreaming函数中添加一个额外的参数,并在函数内处理它,如下所示:
def still_dreaming(self, some_arg):
msg = some_arg + " Some people are still dreaming"
return msg
然后我需要调用该函数并从我的模板中传递一个参数。像这样:
<p tal:content="view/still_dreaming(item/publication_date)"></p>
不幸的是,我不知道将参数传递给方法的正确方法。任何指针都将非常感激。
编辑:
item/publication_date
只是一些变量,可能是任何东西。它刚刚被定义过。
答案 0 :(得分:7)
是
<p tal:content="python:view.still_dreaming(item.publication_date)" />
您可以在TAL表达式中使用TAL遍历语法(默认),Python语法或字符串语法。
http://collective-docs.readthedocs.org/en/latest/functionality/expressions.html