[ZDP] BackTalk to Document The Zope Book (2.6 Edition)/Using Zope
Page Templates
webmaster at zope.org
webmaster at zope.org
Sat Jan 17 08:30:42 EST 2004
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);
correct;
yes;
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.
% Anonymous User - Jan. 17, 2004 8:30 am:
could you explain the differences between
container.objectValues(['File'])
and
container.objectValues('File')
More information about the ZDP
mailing list