[Zope] Five defaultView and REQUEST.URL0
    Maciej Wisniowski 
    maciej.wisniowski at coig.katowice.pl
       
    Tue Feb 21 09:24:25 EST 2006
    
    
  
Hi
I've created simple view that just displays few lines of text (with 
national characters)
and URL of the current page (which is received by call to my product 
method (code below)).
I'm using UTF-8. I've used REQUEST.URL0 to generate url. The problem is 
when
I'm accessing my object via it's name (I'mean when defaultView is used) 
like:
http://localhost:8080/my_problem_object
I get:
'ascii' codec can't decode byte 0xc4 in position 154: ordinal not in 
range(128)
Suprisingly to me when I'm using:
http://localhost:8080/my_problem_object/@@test_uni
everything works correclty.
Without national characters in Page Template it works OK.
When I'm not using self.REQUEST.URL0 it works correctly too.
When I use str(self.REQUEST.URL0) everything is good again.
Can somebody tell me whether I'm doing something in a wrong
way, or maybe it is a bug or feature? I dont understand why there
is such a difference between view and default view?
Below is a part of my code:
---main class---
class GeneralModule(Folder):
    """GeneralModule"""
    (...)
    def get_obj_url(self):
        return self.REQUEST.URL0
    (...)
---view is---
<html xmlns="http://www.w3.org/1999/xhtml" lang="pl" xml:lang="pl">
<body>
    <h1> Some unicode characters here: łąka</h1> 
    <span tal:content="python: context.get_obj_url()"></span>
</body>
</html>
---configure.zcml:---
  <five:traversable class=".GeneralModule.GeneralModule" />
  <five:defaultViewable class=".GeneralModule.GeneralModule" />
 
  <browser:page
    for=".GeneralModule.IGeneralModule"
    template="./zpt/test_uni.zpt"
    name="test_uni"
    permission="zope.Public"
  />
 
  <browser:defaultView
    for=".GeneralModule.IGeneralModule"
    name="test_uni"
  />
...
-- 
Maciej Wisniowski
    
    
More information about the Zope
mailing list