Skip to main content

Introduction

This package implements a widget that groups select values into optgroups.

Usage

Imagine you have the following schema:

class IMySchema(Interface):
    country = schema.Choice(
        required=True,
        title=u"Country",
        vocabulary='countries',
    )

    subdivision = schema.Choice(
        required=True,
        title=u"State",
        vocabulary='subdivisions',
    )

    region = schema.Choice(
        required=True,
        title=u"County",
        vocabulary='regions',
    )

When you create your vocabularies (e.g. using SimpleVocabulary), instead of adding SimpleTerm items:

...
for country in pycountry.countries:
    terms.append(SimpleTerm(value=country.alpha2, token=country.alpha2,
                            title=country.name))
...

you add OptgroupTerm items:

from z3c.formwidget.optgroup.widget import OptgroupTerm

...
country_list = countries(context)
for item in pycountry.subdivisions:
    parent = country_list.getTermByToken(item.country_code).title
    terms.append(OptgroupTerm(value=item.code, token=item.code,
                              title=item.name, optgroup=parent))
...

In your form, simply assign the OptgroupFieldWidget:

from z3c.formwidget.optgroup.widget import OptgroupFieldWidget

class MyForm(form.Form):
    fields = field.Fields(IMySchema)

    fields['subdivision'].widgetFactory = OptgroupFieldWidget
    fields['region'].widgetFactory = OptgroupFieldWidget

Contributors

Thomas Massmann, Author

Changelog

1.2 (2012-05-01)

  • Fixed wrong html tag for display mode template. [Thomas Massmann]

1.1 (2012-04-26)

  • Always show no value message as first item. [Thomas Massmann]

1.0.1 (2012-04-14)

  • MANIFEST.in was missing some entries. [Thomas Massmann]

1.0 (2012-04-14)

  • Initial release. [Thomas Massmann]

Metadata

Release files for z3c.formwidget.optgroup 1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for z3c.formwidget.optgroup 1.2
File Size Uploaded Provenance Actions
z3c.formwidget.optgroup-1.2.tar.gz 13.2 kB Without provenance Details for z3c.formwidget.optgroup-1.2.tar.gz

Release files / z3c.formwidget.optgroup-1.2.tar.gz

Download URL z3c.formwidget.optgroup-1.2.tar.gz
Size 13.2 kB
Tags Source
SHA-256 checksum
How to use checksums
f1de0a23bb87d4aa0661eba563052be399884ea46cdffc7663b62594f146d146
BLAKE2b-256 checksum
How to use checksums
214a871e97e3530ed010ac2ddb85dd4087105bff4773cd7bb7ff4243fcf4de74
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for z3c.formwidget.optgroup 1.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page