hi there

Ah... right you are... I just discovered some of that for my self after a little more careful reading of the "Adding Views" chapter of "The Zope 3 Developers Book". Thanks for the link, I'll read that too.


On Apr 27, 2006, at 4:00 PM, Bernd Dorn wrote:

On 27.04.2006, at 22:49, Jachin Rupe wrote:

hi there

Thanks for the reply. Removing the class attribute from the page directive got rid of the error. However I'm not overriding the VinePackage class.

class VinePackage(BTreeContainer):
        title = u""

ups, you are on the wrong track

the VinePackage class is your content class, the page directive requires a view class if given any, if you don't provide one it is created on the fly

a view is a multiadapter for the interface you declared in the page directive and the request to a publishable object

take a look here:
http://www.zope.org/Wikis/DevSite/Projects/ComponentArchitecture/ Zope3Book/componentviews.html

Since it is inheriting from BTreeContainer, perhaps that overrides the constructor? I'll look into it and if I find an answer before someone else offers one I'll post it.


On Apr 27, 2006, at 3:35 PM, Bernd Dorn wrote:

did you override the constructor in vine.vinePackage.VinePackage or one of its superclasses?

iv yes, then you need

def __init__(self,context,request):

as constructor, you can test it by just removing the class attribute of your page directive

On 27.04.2006, at 21:08, Jachin Rupe wrote:

hi there

I've got an error I've been stuck on for several hours now and I know the problem has got to be a very simple one but the error message I'm getting is not helping. I'm just trying to create a view for a very simple object. Here's the error I'm getting:

2006-04-27T13:58:09 ERROR SiteError http://localhost:8080/ VinePackage/@@details.html
Traceback (most recent call last):
File "/usr/local/Zope-3.2.1/lib/python/zope/publisher/ publish.py", line 135, in publish
    object = request.traverse(object)
File "/usr/local/Zope-3.2.1/lib/python/zope/publisher/ browser.py", line 500, in traverse
    ob = super(BrowserRequest, self).traverse(object)
File "/usr/local/Zope-3.2.1/lib/python/zope/publisher/ http.py", line 451, in traverse
    ob = super(HTTPRequest, self).traverse(object)
File "/usr/local/Zope-3.2.1/lib/python/zope/publisher/ base.py", line 289, in traverse
    subobject = publication.traverseName(
File "/usr/local/Zope-3.2.1/lib/python/zope/app/publication/ publicationtraverse.py", line 46, in traverseName
    ob2 = namespaceLookup(ns, nm, ob, request)
File "/usr/local/Zope-3.2.1/lib/python/zope/app/traversing/ namespace.py", line 121, in namespaceLookup
    return traverser.traverse(name, ())
File "/usr/local/Zope-3.2.1/lib/python/zope/app/traversing/ namespace.py", line 363, in traverse
File "/usr/local/Zope-3.2.1/lib/python/zope/component/ __init__.py", line 165, in queryMultiAdapter return sitemanager.queryMultiAdapter(objects, interface, name, default) File "/usr/local/Zope-3.2.1/lib/python/zope/component/ site.py", line 75, in queryMultiAdapter
File "/usr/local/Zope-3.2.1/lib/python/zope/interface/ adapter.py", line 475, in queryMultiAdapter
    return factory(*objects)
TypeError: __init__() takes exactly 1 argument (3 given)

None of code I have written is in that trace so I have no idea where the problem is. Everything else I try to do with the object I'm trying to create a new view for works so I'm assuming the problem is in the ZCML for the view:


The only other file I can think of that might be the cause of the problem is vinePackage.pt I took out all of the parts that refer to the Content Object in case the problem was there so I removed stuff until it was just a static html page and I was still getting the error. As far as I can tell I'm following the message board example in the Zope book pretty closely. If anyone has any suggestions on where I should look for the problem I would really appreciate it.


Zope3-users mailing list

Zope3-users mailing list

Reply via email to