Input Components
The following components are used when rendering form inputs corresponding to model field definitions. These components implement a common subset of the XLSForm question types and Django field types.
To implement a custom input type, or override the defaults, register an input components plugin.
Name | HTML Equivalent | Django Type | XLSForm Type |
---|---|---|---|
Input | <input type={text,number,...}> |
CharField , IntegerField , FloatField |
string, int, decimal |
Date | <input type=date> |
DateField |
date |
Time | <input type=time> |
TimeField |
time |
DateTime | <input type=datetime-local> |
DateTimeField |
dateTime |
Hidden | <input type=hidden> |
n/a | hidden |
Choice Inputs | |||
Checkbox | <input type=checkbox> |
BooleanField |
n/a |
Toggle | n/a | CharField(choices<5) |
select one |
Radio | <input type=radio> |
CharField(choices<10) |
select one |
Select | <select> |
CharField(choices>=10) |
select one / select |
ForeignKey | <select> |
ForeignKey |
constraint=wq:ForeignKey |
Binary Attachments | |||
File | <input type=file> |
FileField |
file, video, audio |
Image | <input type=file accept="image/*"> |
ImageField |
image |
Geospatial Inputs | |||
Geopoint | n/a | PointField |
geopoint |
Geotrace | n/a | LineStringField |
geotrace |
Geoshape | n/a | PolygonField |
geoshape |