Forms are a common feature found on websites. We already have all the tools needed to implement one: a QWeb template can provide the HTML for the form, the corresponding submit action can be a URL, processed by a controller that can run all the validation logic, and it can finally store the data in the proper model.
But for non-trivial forms, this can be a demanding task. It's not that simple to perform all the necessary validations and provide feedback to the user about what is wrong.
Since this is a common need, a website_form addon is available to aid us with this. Let's see how to use it.
Looking back at the Add button in the Todo Task list, we can see that it opens the /todo/add URL. This should present a form to submit a new Todo Task, and the fields available will be the task name, a person (user) responsible for the task, and a file attachment...