[ZDP] BackTalk to Document The Zope Book (2.6 Edition)/Using Zope Page Templates

webmaster at zope.org webmaster at zope.org
Tue Dec 2 23:18:09 EST 2003

A comment to the paragraph below was recently added via http://zope.org/Documentation/Books/ZopeBook/2_6Edition/ZPT.stx#2-59


    To start, you need to write just one line of Python.  Go to the
    'FileLib' folder and create a 'Script (Python)' in that folder.
    Give the script the id 'files' and click *Add and Edit*.  Edit the
    script to contain the following Python code::

      ## Script (Python) "files"
      return container.objectValues(['File'])

      % Anonymous User - Nov. 4, 2003 10:52 am:
       Thanks. We are learning about TAL and three pages into it we are confronted with Python.
       Is there no way of doing this with TAL?

      % Anonymous User - Nov. 10, 2003 11:00 pm:
       No - there isn't (the short answer, but there are ways, it's just not the point). The point is to separate
       the presentation from the actual logic. If you want to do logic in your templates, take a look at DTML. If
       you are reading this to build a web application, you *will* need to know Python. It's not easy learning brand
       new stuff, especially if you are in completely unfamiliar territory: take a break, plod through the reading
       (some things will be explained in time), and if you are still confused join the mailing list and ask some
       questions. I've found the best way is to play with it yourself. I admit that takes *a lot* of time, but you
       really won't know it otherwise.

      % Anonymous User - Nov. 20, 2003 9:35 am:
       The ['file'] bit means only return items in the folder which are files (as opposed to dtml methods or
       something) right?
       If you typed return container.objectValues() then you'd get everything in the folder, rather than just the
       files, right?
       Python: container.objectValues()
       TAL: content/objectValues

       These are referencing the same variable/property/thing just using different syntax. Yes?

       It would be nice to know what the ##'s are for.

       If this is really a newbie tutorial then it wouldn't do any harm to spoon feed us a bit ;-P

      % Anonymous User - Dec. 2, 2003 11:18 pm:
       To answer your questions:
       correct (but the capitalization is significant);
       the lines that begin with # are comments which, in the case of zope's Python Scripts, are actually mildly
       significant in ways that will be explained in later chapters. IMHO those lines should be left out of this
       example, it's not necessary at this stage and it's just distracting.

More information about the ZDP mailing list