2012-01-31 9 views
6

देखने के लिए तर्क पास करना मैं ब्राउज़र दृश्य का उपयोग करके टेम्पलेट दृश्य बनाने में मेरी सहायता के लिए this URL का पालन कर रहा हूं। अब तक, यह ठीक काम करता है और मैं व्यू क्लास के साथ टेम्पलेट बनाने में सक्षम हूं।प्लोन 4: कक्षा (ब्राउज़र दृश्य)

मैं यह जानना आवश्यक है कि क्या यह दृश्य वर्ग यानी अंदर तरीकों के तर्क पारित करने के लिए संभव है

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 केवल कुछ चर है और कुछ भी हो सकता है। यह अभी पहले परिभाषित किया गया है।

उत्तर

7

हां।

<p tal:content="python:view.still_dreaming(item.publication_date)" /> 

आप TAL भाव में TAL traversing वाक्य रचना (डिफ़ॉल्ट), अजगर वाक्य रचना या स्ट्रिंग सिंटैक्स का उपयोग कर सकते हैं।

http://collective-docs.readthedocs.org/en/latest/functionality/expressions.html

+0

वही मिला। लेकिन मैंने इंटरनेट पर कहीं भी पढ़ा है जो "पायथन:" बनाते हुए खराब हैं ... तो कभी-कभी, मैं थोड़ी उलझन में हूं। – Jihaisse

+2

पायथन: इस अर्थ में बुरा है कि अतीत में वहां कोई कक्षा नहीं थी और टेम्पलेट्स में सभी कोड डाले गए थे, जिससे इसे HTML और एक लाइनर पायथन –

+1

का गड़बड़ बना दिया गया था अब आप जटिल पायथन लूप और फ़ंक्शन को असली .py में डाल सकते हैं फ़ाइल और देखें वर्ग –

संबंधित मुद्दे