1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
|
from wtforms import Form
from .fields import (
ColorField,
DateField,
DateIntervalField,
DateTimeField,
DateTimeIntervalField,
DateTimeLocalField,
DecimalField,
DecimalIntervalField,
DecimalSliderField,
EmailField,
FloatIntervalField,
IntegerField,
IntegerSliderField,
IntIntervalField,
JSONField,
PassiveHiddenField,
SearchField,
SelectField,
SelectMultipleField,
SplitDateTimeField,
StringField,
TimeField,
)
from .validators import Chain, DateRange, Email, If, TimeRange
from .widgets import NumberInput, ReadOnlyWidgetProxy, SelectWidget
__version__ = "0.11.0"
__all__ = (
Chain,
ColorField,
DateField,
DateIntervalField,
DateRange,
DateTimeField,
DateTimeIntervalField,
DateTimeLocalField,
DecimalField,
DecimalIntervalField,
DecimalSliderField,
Email,
EmailField,
FloatIntervalField,
If,
IntegerField,
IntegerSliderField,
IntIntervalField,
JSONField,
NumberInput,
PassiveHiddenField,
SearchField,
SelectField,
SelectMultipleField,
SelectWidget,
SplitDateTimeField,
StringField,
TimeField,
TimeRange,
)
class ModelForm(Form):
"""
Simple ModelForm, use this if your form needs to use the Unique validator
"""
def __init__(self, formdata=None, obj=None, prefix="", **kwargs):
Form.__init__(self, formdata=formdata, obj=obj, prefix=prefix, **kwargs)
self._obj = obj
def do_nothing(*args, **kwargs):
pass
def read_only(field):
field.widget = ReadOnlyWidgetProxy(field.widget)
field.process = do_nothing
field.populate_obj = do_nothing
return field
|