Widgets¶
Base Widget¶
fastapi_admin_kit.widgets.base.Widget
¶
Base widget class.
Stateless: receives FieldMeta + value at render/validate time.
Override parse to transform raw form data.
Override validate to add custom validation.
Override render_context to customise template variables.
Source code in fastapi_admin_kit/widgets/base.py
FieldMeta¶
fastapi_admin_kit.widgets.base.FieldMeta
dataclass
¶
Metadata for a form field — drives widget rendering and validation.
Source code in fastapi_admin_kit/types.py
Built-in Widgets¶
TextInputWidget¶
fastapi_admin_kit.widgets.inputs.TextInputWidget
¶
Bases: Widget
Source code in fastapi_admin_kit/widgets/inputs.py
TextareaWidget¶
fastapi_admin_kit.widgets.inputs.TextareaWidget
¶
NumberInputWidget¶
fastapi_admin_kit.widgets.inputs.NumberInputWidget
¶
Bases: Widget
Source code in fastapi_admin_kit/widgets/inputs.py
ToggleWidget¶
fastapi_admin_kit.widgets.inputs.ToggleWidget
¶
SelectWidget¶
fastapi_admin_kit.widgets.inputs.SelectWidget
¶
Bases: Widget
Source code in fastapi_admin_kit/widgets/inputs.py
DatePickerWidget¶
fastapi_admin_kit.widgets.inputs.DatePickerWidget
¶
Bases: Widget
Source code in fastapi_admin_kit/widgets/inputs.py
DateTimePickerWidget¶
fastapi_admin_kit.widgets.inputs.DateTimePickerWidget
¶
Bases: Widget
Source code in fastapi_admin_kit/widgets/inputs.py
JsonEditorWidget¶
fastapi_admin_kit.widgets.inputs.JsonEditorWidget
¶
Bases: Widget
Source code in fastapi_admin_kit/widgets/inputs.py
AutocompleteWidget¶
fastapi_admin_kit.widgets.inputs.AutocompleteWidget
¶
Bases: Widget
Text input with datalist autocomplete suggestions.
Source code in fastapi_admin_kit/widgets/inputs.py
PasswordWidget¶
fastapi_admin_kit.widgets.inputs.PasswordWidget
¶
Bases: Widget
Source code in fastapi_admin_kit/widgets/inputs.py
ReadOnlyWidget¶
fastapi_admin_kit.widgets.inputs.ReadOnlyWidget
¶
HiddenWidget¶
fastapi_admin_kit.widgets.inputs.HiddenWidget
¶
FileUploadWidget¶
fastapi_admin_kit.widgets.inputs.FileUploadWidget
¶
Bases: Widget
File upload widget — stores file via StorageBackend, saves path string.
Source code in fastapi_admin_kit/widgets/inputs.py
parse(raw)
¶
Raw form data — the actual UploadFile handling happens in the
form submit factory because UploadFile objects need async read.
ImageUploadWidget¶
fastapi_admin_kit.widgets.inputs.ImageUploadWidget
¶
Bases: Widget
Image upload widget — like FileUploadWidget but restricted to images.
Source code in fastapi_admin_kit/widgets/inputs.py
WysiwygWidget¶
fastapi_admin_kit.widgets.inputs.WysiwygWidget
¶
Bases: Widget
Wysiwyg rich text editor widget (contenteditable-based).
Source code in fastapi_admin_kit/widgets/inputs.py
ArrayWidget¶
fastapi_admin_kit.widgets.inputs.ArrayWidget
¶
Bases: Widget
Array/list input widget — dynamic add/remove items.
Source code in fastapi_admin_kit/widgets/inputs.py
Relationship Widgets¶
RelationPickerWidget¶
fastapi_admin_kit.widgets.relation.RelationPickerWidget
¶
Bases: Widget
ForeignKey (many-to-one) picker — HTMX async searchable select with autocomplete.
Source code in fastapi_admin_kit/widgets/relation.py
MultiRelationWidget¶
fastapi_admin_kit.widgets.relation.MultiRelationWidget
¶
Bases: Widget
Many-to-many tag-style multi-select.
Source code in fastapi_admin_kit/widgets/relation.py
Widget Registry¶
fastapi_admin_kit.widgets.registry.WidgetRegistry
¶
Stores SQLAlchemy column type and name pattern mappings to widget classes.
This class is responsible ONLY for registration and storage. Use WidgetResolver to determine which widget to use for a column.
Source code in fastapi_admin_kit/widgets/registry.py
type_map
property
¶
Read-only access to the type-to-widget mapping.
name_patterns
property
¶
Read-only access to the name pattern list.
register_type(sa_type, widget_cls)
¶
unregister_type(sa_type)
¶
register_name(pattern, widget_cls)
¶
Register a widget class for a name pattern (case-insensitive substring).