Comment on page
Forms
Purpose of this document is to introduce you to differences and features of forms module available in
misago.core.forms
package.Because Misago relies on JSON API endpoints to change application state by users, bulk of forms are be written as React.js components making AJAX requests to different
/api/
edges, either bypassing the forms altogether, or using them purely for data validation and cleaning.Finally, Misago defines few custom field types:
Thin wrapper around Django's
TypedChoiceField
. In admin this field renders nice yes/no switch as its input.YesNoSwitch
coerces its value to int
(eg. 0
or 1
)! Remember about this when writing code dealing with forms containing this field!Misago defines custom templates extension named
misago_forms
. This extension contains two template tags for rendering form fields:This tag takes form field as its first argument and renders field complete with label, help and errors. Accepts two extra arguments: label class and field class, allowing you to control size of horizontal forms:
{% load misago_forms %}
{% form_row form.somefield %}
{% form_row form.otherfield 'col-md-3' 'col-md-9' %}
This tag takes form field as its only argument and renders it's input.
Last modified 5yr ago