He estado siguiendo this URL para ayudarme a crear vistas de plantillas usando BrowserView. Hasta ahora, funciona bien y puedo crear una plantilla con una clase de vista.Plone 4: Pasar argumentos para ver la clase (BrowserView)
Lo que necesito saber es si es posible pasar argumentos a los métodos dentro de la es decir, clase de vista
from Products.Five import BrowserView
class Html(BrowserView):
def still_dreaming(self):
msg = "Some people are still dreaming"
return msg
tengo que añadir un argumento adicional para la función still_dreaming y procesarla dentro de la función como esta :
def still_dreaming(self, some_arg):
msg = some_arg + " Some people are still dreaming"
return msg
Luego necesito llamar a la función y pasarle un argumento desde mi plantilla. Algo como esto:
<p tal:content="view/still_dreaming(item/publication_date)"></p>
Desafortunadamente, no sé la forma correcta de pasar argumentos al método. Cualquier puntero será muy apreciado.
EDITAR: item/publication_date
es solo una variable y podría ser cualquier cosa. Se acaba de definir previamente.
Consiguió lo mismo. Pero leí en algún lado en Internet que hacer "python:" en las vistas es malo ... Por lo tanto, a veces, estoy un poco confundido. – Jihaisse
python: es malo en el sentido de que en el pasado no había clases de vista y todo el código estaba dentro de las plantillas, lo que lo convertía en un lío de pitones HTML y one liner –
Ahora puedes poner complejos bucles y funciones de Python en .py reales archivo y clase de vista –