Re: Viele Felder mit deforms
Andreas Jung <[email protected]>
| Newsgroups | gmane.comp.web.zope.german |
|---|---|
| Message-ID | <[email protected]> |
Vielleicht hilft Dir unser Code: http://pastie.org/1892227 Aber der ist teilweise gepimpt mit Spezialanforderungen aus unserem Projekt. -aj Am 12. Mai 2011 10:34 schrieb Vladislav Vorobiev <[email protected]>: > Ich hänge an default werten > > def form_view(obj): > schema = MySchema() > obj.request.form['TITLE'] = 'GGGG' > obj.request.stdin.seek(0) > bb = obj.request.stdin.read() > import pdb;pdb.set_trace() > (Pdb) bb > '' > (Pdb) obj.request.form['TITLE'] > 'GGGG' > > req = wbr.blank('/', POST=bb, environ=obj.request.environ) > myform = Form(schema, buttons=('submit','clear')) > return myform.render() > > Ich setze selbst die request Variablen, obj.request.form['TITLE'] ist > ja nicht leer. > Warum ist das so? > Wenn ich das Formular abschicke bb ist nicht leer. > Ich kann kein unterschied zwischen den beiden Requests feststellen. > > > >>> Hallo Andreas, >>> >>>> Probier Dein Glück besser auf der Pylons Liste - Deforms ist sicherlich >>>> nicht sehr weit verbereitet. >>>> An "vielen" Feldern kann es sicherlich >>>> nicht liegen. Ich arbeitete gerade an einer App wo wir irgendwas in der >>>> Größenordnung von 60 verschiedenen Feldern und Customwidgets in Zope 2 >>>> zu tun haben >>> >>> Ja du hast recht, ich hatte noch andere Fehler drin, es lag nicht an >>> Größenordnung. >>> >>> - aber wir haben andere Probleme mit Colander :) >>> >>> Interessant wehre zu erfahren welche Probleme. >> >> Das Hauptproblem ist das Konvertieren eines Zope 2 Requests in einen >> WebOb Request und umgekehrt. Da wir ein relative komplexes DB Schema und >> Formulare haben ist das partiell tricky. Konkret hänge ich aktuell an >> >> https://github.com/Pylons/colander/issues/7 >> >> fest... >> >> Andreas >> >>> >>> Ich habe mir vorgenommen einige verschiedene Formular Bibliotheken anzusehen, >>> interessant wehre zu erfahren was ihr so anwendet und warum. >>> >>> Gruß >>> Vlad >>> >>>> Andreas >>>> >>>> Vladislav Vorobiev wrote: >>>>> Hallo, >>>>> >>>>> wenn ich viele Felder mit deform darstellen möchte (ab 20) bekomme ich >>>>> ein Fehler: >>>>> >>>>> Module zope.tales.tales, line 696, in evaluate >>>>> - URL: /home/p27b/var/zeoi1/Products/VVshop/browser/deform_test.pt >>>>> - Line 20, Column 0 >>>>> - Expression: <PathExpr standard:u'view/form_view'> >>>>> - Names: >>>>> {'args': (), >>>>> 'context': <Shop at /kundenseiten/gossrushop/shop>, >>>>> 'default': <object object at 0x7f44f412ab40>, >>>>> 'loop': {}, >>>>> 'nothing': None, >>>>> 'options': {}, >>>>> 'repeat': {}, >>>>> 'request': <HTTPRequest, >>>>> URL=http://check.gossrushop.vavmaster.de/test_deform>, >>>>> 'template': >>>>> <zope.browserpage.viewpagetemplatefile.ViewPageTemplateFile object at >>>>> 0x71fd8d0>, >>>>> 'view': <Products.Five.metaclass.DEformTest object at 0x736c210>, >>>>> 'views': <zope.browserpage.viewpagetemplatefile.ViewMapper >>>>> object at 0x7365ed0>} >>>>> Module zope.tales.expressions, line 217, in __call__ >>>>> Module zope.tales.expressions, line 211, in _eval >>>>> Module Products.VVshop.browser.browser_deform, line 379, in form_view >>>>> Module deform.field, line 419, in render >>>>> Module deform.field, line 394, in serialize >>>>> Module deform.widget, line 791, in serialize >>>>> Module deform.template, line 103, in __call__ >>>>> Module chameleon.core.template, line 104, in __call__ >>>>> Module chameleon.core.template, line 402, in render >>>>> Module chameleon.zpt.template, line 17, in render >>>>> Module chameleon.core.template, line 229, in render >>>>> Module chameleon.core.template, line 382, in cook_and_render >>>>> Module chameleon.core.template, line 217, in cook_and_render >>>>> - __traceback_info__: (<PageTemplateFile >>>>> /home/p27b/usr/lib/python2.7/site-packages/deform-0.9-py2.7.egg/deform/templates/form.pt>,) >>>>> Module chameleon_2d8479fcee0b551658723a3d1c0b78c852200efc, line 307, in render >>>>> Module deform.template, line 103, in __call__ >>>>> Module chameleon.core.template, line 104, in __call__ >>>>> Module chameleon.core.template, line 402, in render >>>>> Module chameleon.zpt.template, line 17, in render >>>>> Module chameleon.core.template, line 229, in render >>>>> Module chameleon.core.template, line 382, in cook_and_render >>>>> Module chameleon.core.template, line 217, in cook_and_render >>>>> - __traceback_info__: (<PageTemplateFile >>>>> /home/p27b/usr/lib/python2.7/site-packages/deform-0.9-py2.7.egg/deform/templates/mapping_item.pt>,) >>>>> Module chameleon_86609e67614644096f5b299250421c97eec7612e, line 213, in render >>>>> Module deform.field, line 394, in serialize >>>>> Module deform.widget, line 937, in serialize >>>>> RuntimeError: Caught exception rendering template. >>>>> - Expression: ``rndr(tmpl,field=f,cstruct=cstruct.get(f.name, null))`` >>>>> - Filename: /home/p27b/usr/lib/python2.7/site-packages/deform-0.9-py2.7.egg/deform/templates/form.pt >>>>> - Arguments: field: <Form - at 0x736c6d0> >>>>> cstruct: {...} (60) >>>>> template: <PageTemplateFile - at 0x7372710> >>>>> xincludes: <XIncludes - at 0x7372790> >>>>> macros: <Macros - at 0x7a7d250> >>>>> null: <_null - at 0x70a6ed0> >>>>> >>>>> RuntimeError: Caught exception rendering template. >>>>> - Expression: ``field.serialize(cstruct)`` >>>>> - Filename: /home/p27b/usr/lib/python2.7/site-packages/deform-0.9-py2.7.egg/deform/templates/mapping_item.pt >>>>> - Arguments: field: <Field - at 0x736cc50> >>>>> cstruct: <_null - at 0x70a6ed0> >>>>> template: <PageTemplateFile - at 0x7a7db50> >>>>> xincludes: <XIncludes - at 0x7a89910> >>>>> macros: <Macros - at 0x7a89290> >>>>> >>>>> IndexError: list index out of range >>>>> >>>>> Vieleicht hat jemand sowas schon mal gesehen. >>>>> >>>>> Der code sieht so aus: >>>>> >>>>> class MySchema(MappingSchema): >>>>> >>>>> name = SchemaNode(String(), >>>>> description = LONG_DESC) >>>>> title = SchemaNode(String(), >>>>> description = LONG_DESC) >>>>> root = SchemaNode(String(), >>>>> description = LONG_DESC) >>>>> .....viele viele felde >>>>> >>>>> >>>>> ...... >>>>> class DEformTest(BrowserPage): >>>>> def form_view(obj): >>>>> myform = Form(schema, buttons=('submit','clear')) >>>>> return myform.render() >>>>> __call__ = ViewPageTemplateFile('deform_test.pt') >>>>> >>>>> >>>>> Mit wenigen Feldern funktioniert es. >>>>> >>>> >>>> - -- >>>> ZOPYX Limited | zopyx group >>>> Charlottenstr. 37/1 | The full-service network for Zope & Plone >>>> D-72070 Tübingen | Produce & Publish >>>> www.zopyx.com | www.produce-and-publish.com >>>> - ------------------------------------------------------------------------ >>>> E-Publishing, Python, Zope & Plone development, Consulting >>>> >>>> >>>> -----BEGIN PGP SIGNATURE----- >>>> Version: GnuPG v1.4.11 (Darwin) >>>> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ >>>> >>>> iQGUBAEBAgAGBQJNy2YHAAoJEADcfz7u4AZjCe4Lv3biSvJE712X31l63mVTXBOv >>>> Lgx66sH9+LzD2dWj9dH8n40R7Gi962YLzW9HUSa49K/LJL5bn2M7apCwuQMjppYG >>>> BL/sFjPneLLVBiTEPta0gDhZiTMXM8lkj06Z5U/VJwImLs8DH8v0Md+FjRDWq8t/ >>>> l8LNDXL5aPpZ+280lZ3Ba8SZiKQBrDqwd/+2eH3qNaeJJDq5gU67qvMiYGryqQyK >>>> dITmeU9SD5AK6IKfkZTp7x6TJQuICEkqDmKLvuiuep6UZhmCT6qlc+k5KiKefvhV >>>> ue1VIeaQuZD244U2de9Q9lblPm8eZrAbhs4D4xK+jSUn7P4gCM9kfD+vrBsnaF1c >>>> 8OVBobboN2x0+0zwY0vrwlPjgNfpX4XoQgPf+ibQDxd2cAjugOBTdctrk3i9jNlq >>>> KW0J5PIKI6Ctf7zMzEc7sy5pH1sa56coMvOOAMwEGg915+XBaw4B1JWwNlModUld >>>> iI+XuexsPE2+z85bExjH5FgtZcm6cwI= >>>> =ushG >>>> -----END PGP SIGNATURE----- >>>> >>>> >>>> >>>> _______________________________________________ >>>> zope mailing list >>>> [email protected] >>>> https://mail.dzug.org/mailman/listinfo/zope >>>> >>>> >>> >>> >>> >> >> >> - -- >> ZOPYX Limited | zopyx group >> Charlottenstr. 37/1 | The full-service network for Zope & Plone >> D-72070 Tübingen | Produce & Publish >> www.zopyx.com | www.produce-and-publish.com >> - ------------------------------------------------------------------------ >> E-Publishing, Python, Zope & Plone development, Consulting >> >> >> -----BEGIN PGP SIGNATURE----- >> Version: GnuPG v1.4.11 (Darwin) >> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ >> >> iQGUBAEBAgAGBQJNy4npAAoJEADcfz7u4AZjdN4LwMk9t7M6vbUJSXMdwTp6X6yu >> MgqPyXECKk6tnWGddUwqusi77JtXePYI0AQ+/fBKatdALQf/b9rsWJ8RUrRxCebI >> yoBdGEK+kuwJM29yhuKegMzeYFKsoneD0cqu7wRrT0Kjr2lwkihQqr56rwze/0rX >> +zG5xCVE1+eVRMHC0TdR/d8OiGJiwduS4vO5IRsHsONWb5g119TSwBrbMQm+fgKg >> WcaZl4rwmwnd+oXEM1bb0uq3Xed/6AoIiXTPv9769pMUdx+UJFPC5Vh0JANB7IpG >> Fk08/Cu7yidjzl09dtokB7q9W39DaSL2Hyt8lxDo3ZY9KXWVVzsdTVHzPFPNdIFN >> w9Uhnv7qax7ngrBGsIXVh53j4Myss7VB7yzt7Zr+o2bCkZaY48ELEX0Vr8VsuvPp >> 2Drjwt2ahMtVQ683DGd1qf4la32a0lh0GdAfFy2iInITyel7ZXj3krdIkjQS1u4W >> wIfD1cEywU/vWyB/QrFQZZtlxvC4q8k= >> =AIGp >> -----END PGP SIGNATURE----- >> >> >> >> _______________________________________________ >> zope mailing list >> [email protected] >> https://mail.dzug.org/mailman/listinfo/zope >> >> > > > > -- > Best Regards > Vlad Vorobiev > _______________________________________________ zope mailing list [email protected] https://mail.dzug.org/mailman/listinfo/zope