Am Freitag, 10. Februar 2006 20:10 schrieb Garanin Michael: > > I've played with zope.formlib before that. I didn't manage to generate a > > entire form, just the <input ...> statemenets were generated, without any > > <html> headers or anything like that. So I need to add them manually with > > python code or a template. Can you tell me how I can generate a form. > > Basically the same like the form directive we're talking about all the > > time. > > > > > > Thanks, > > > > Florian > > It's easy. Example: > > 1) class IMyForm(Interface): > title = TextLine(...) > > 2) class MyAddForm(zope.formlib.AddForm): > form_fields = IMyForm > > def create(self, data): > # create you object from data-dictionary > > > class MyEditForm(zope.formlib.EditForm): > form_fields = IMyForm > # yes it's all ! ;-) > > 3) in browser.zcml > > <page > name="AddMyObject.html" > for="zope.app.container.interfaces.IAdding" > class=".MyAddForm" > permission="zope.ManageContent" > /> > <page > name="edit.html" > for=".IMyObjectInterface" > class=".MyEditForm" > permission="zope.ManageContent" > /> > > P.S. you can see usage zope.formlib in 'zsqlmap' (my product, see > zope.org ;-)
Thanks for your example. But I've the same error, a 404. in views.py: from zope.formlib.form import EditForm from interfaces import IRegistrationForm class registrationForm(EditForm): form_fields = IRegistrationForm in configure.zcml: <page name="registrationForm.html" class=".views.registrationForm" permission="zope.Public" layer="centershock" for="CS.centershock.interfaces.ICentershock" /> And I try to call it with: /++skin++centershock/cs/registerForm.html whereas cs is a ICentershock object. It still gives a 404. Any guess what's wrong? Thanks, Florian _______________________________________________ Zope3-users mailing list Zope3-users@zope.org http://mail.zope.org/mailman/listinfo/zope3-users