Re: [Zope] Including Script-Generated String in Method Call
I have been chasing my tail on this one for the better part of two hours now. Time to ask for help. My goal: I want to load a page whose URL looks like "day1.html" where the number in the name of the page changes. I have written a Python script called pagetoget which calculates the day number correctly and assembles the URL as a string, which it returns. This seems to work. ---- what you can try: <dtml-var "_.getitem(pagetoget)"> checkout dieter's chap3 in his book available on the net (search the archive for the url) to redirect, you can do this <dtml-call "RESPONSE.redirect(pagetoget)"> rule # 666 in the road to zen: no dtml in dtml rule #69 states : if in " ", you're in python realm. :) hth
At 2:14 PM +0800 12/30/01, Bak @ kedai wrote:
I have been chasing my tail on this one for the better part of two hours now. Time to ask for help.
My goal:
I want to load a page whose URL looks like "day1.html" where the number in the name of the page changes.
I have written a Python script called pagetoget which calculates the day number correctly and assembles the URL as a string, which it returns. This seems to work.
---- what you can try: <dtml-var "_.getitem(pagetoget)">
Thanks very much for your quick responses! This produces an AttributeError, with an ErrorValue: _hash_.
checkout dieter's chap3 in his book available on the net (search the archive for the url)
to redirect, you can do this <dtml-call "RESPONSE.redirect(pagetoget)">
As this is given, it produces a Site Error because Zope is looking for the URL of the Python script. I get "can't find resource '/PythonScript%20instance....' on the error page. Perhaps I need my Python script to be an external method? Right now, it isn't. FWIW, the Python script (name=pagetoget), simplified so you can see what I'm trying to do more clearly, is simple: daynum=1 #in the real script, this is a calculation but I've elimianted it return 'http://www.mysite.com/fuzz'+daynum+'.html' I'm pretty sure this returns a string that at least looks like a URL because if I just use: <dtml-var pagetoget> I get a page with the URL I expect to see (http://www.mysite.com/fuzz1.html) displayed.
rule # 666 in the road to zen: no dtml in dtml
Thanks. That's an easy rule to remember!
rule #69 states : if in " ", you're in python realm.
Ditto.
:)
hth
-- Dan Shafer, Author-Consultant http://www.danshafer.com http://www.shafermedia.com
participants (2)
-
Bak @ kedai -
Dan Shafer