[Zope3-Users] Trying to use browser:form -> 404
Florian Lindner
mailinglists at xgm.de
Sat Feb 11 04:10:57 EST 2006
Am Samstag, 11. Februar 2006 00:58 schrieb Alen Stanisic:
> On Sat, 2006-02-11 at 00:44 +0100, Florian Lindner wrote:
> > I get a system error:
> >
> > 2006-02-11T00:41:25 ERROR SiteError
> > http://horus:8080/++skin++centershock/cs/registrationForm.html
> > Traceback (most recent call last):
> > File "/home/florian/Zope3/src/zope/publisher/publish.py", line 138, in
> > publish
> > result = publication.callObject(request, object)
> > File "/home/florian/Zope3/src/zope/app/publication/zopepublication.py",
> > line 161, in callObject
> > return mapply(ob, request.getPositionalArguments(), request)
> > File "/home/florian/Zope3/src/zope/publisher/publish.py", line 113, in
> > mapply
> > return debug_call(object, args)
> > File "/home/florian/Zope3/src/zope/publisher/publish.py", line 119, in
> > debug_call
> > return object(*args)
> > File "/home/florian/Zope3/src/zope/formlib/form.py", line 738, in
> > __call__ self.update()
> > File "/home/florian/Zope3/src/zope/formlib/form.py", line 707, in
> > update self.setUpWidgets()
> > File "/home/florian/Zope3/src/zope/formlib/form.py", line 770, in
> > setUpWidgets
> > adapters=self.adapters, ignore_request=ignore_request
> > File "/home/florian/Zope3/src/zope/formlib/form.py", line 337, in
> > setUpEditWidgets
> > field = form_field.field
> > AttributeError: 'str' object has no attribute 'field'
> > 127.0.0.1 - - [11/Feb/2006:00:41:25 +0200]
> > "GET /++skin++centershock/cs/registrationForm.html HTTP/1.1" 500 89 "-"
> > "Mozilla/5.0 (compatible; Konqueror/3.4; Linux) KHTML/3.4.3 (like Gecko)"
> >
> >
> >
> > I get it now with EditForm too (the backtrace above was produced with
> > EditForm) I think I had a typo that caused the 404 in my last post,
> > sorry!.
> >
> > Florian
>
> In your view.py is the syntax when you set form_fields valid, I haven't
> seen it before:
>
> form_fields = IRegistrationForm
>
> I usually do it by
>
> (from zope.formlib import form)
> form_fields = form.Fields(IRegistrationForm)
I've changed it to:
class registrationForm(form.EditForm):
form_fields = form.Fields(IRegistrationForm)
but that gives a system error:
2006-02-11T10:07:02 ERROR SiteError
http://horus:8080/++skin++centershock/cs/registrationForm.html
Traceback (most recent call last):
File "/home/florian/Zope3/src/zope/publisher/publish.py", line 138, in
publish
result = publication.callObject(request, object)
File "/home/florian/Zope3/src/zope/app/publication/zopepublication.py", line
161, in callObject
return mapply(ob, request.getPositionalArguments(), request)
File "/home/florian/Zope3/src/zope/publisher/publish.py", line 113, in
mapply
return debug_call(object, args)
File "/home/florian/Zope3/src/zope/publisher/publish.py", line 119, in
debug_call
return object(*args)
File "/home/florian/Zope3/src/zope/formlib/form.py", line 738, in __call__
self.update()
File "/home/florian/Zope3/src/zope/formlib/form.py", line 707, in update
self.setUpWidgets()
File "/home/florian/Zope3/src/zope/formlib/form.py", line 770, in
setUpWidgets
adapters=self.adapters, ignore_request=ignore_request
File "/home/florian/Zope3/src/zope/formlib/form.py", line 373, in
setUpEditWidgets
value = field.get(adapter)
File "/home/florian/Zope3/src/zope/schema/_bootstrapfields.py", line 171, in
get
return getattr(object, self.__name__)
ForbiddenAttribute: ('blablubb', <CS.centershock.centershock.Centershock
object at 0xb757a46c>)
blablubb is a field of my interface.
Any idea? Missing security declarations?
Thanks,
Florian
More information about the Zope3-users
mailing list