Edit Form

  • Mapping

Captured

None

Code (show in context)

    @view_config(renderer='templates/form.pt', name='edit')
    @demonstrate('Edit Form')
    def edit(self):
        class Mapping(colander.Schema):
            name = colander.SchemaNode(
                colander.String(),
                description='Content name')
            date = colander.SchemaNode(
                colander.Date(),
                widget = deform.widget.DatePartsWidget(),
                description='Content date')
        class Schema(colander.Schema):
            number = colander.SchemaNode(
                colander.Integer())
            mapping = Mapping()
        schema = Schema()
        form = deform.Form(schema, buttons=('submit',))
        import datetime
        # We don't need to suppy all the values required by the schema
        # for an initial rendering, only the ones the app actually has
        # values for.  Notice below that we don't pass the ``name``
        # value specified by the ``Mapping`` schema.
        appstruct = {
            'number':42,
            'mapping': {
                'date':datetime.date(2010, 4, 9),
                }
            }
        return self.render_form(form, appstruct=appstruct)