DjangoCon US 2016 - Solving Problems With Django Forms by Kirt Gittens
DjangoCon US 2016 - Solving Problems With Django Forms by Kirt Gittens
We'll look at a few core problems that we were able to solve with Django forms.
Dynamic Field Creation: What if you don't know what fields should be present on a Django form until runtime?. Solutions:
Viewing a form's fields as a data structure (convert a field definition to a dictionary) Manipulate self.fields on a form to dynamically add / remove forms from a field.
Pitfalls:
A fields validated attributes can't be manipulated dynamically because of Validators within the forms API. Dynamic form layouts become difficult to manage, crispyforms does not scale as a solution!
Validate a form via an API: How can external validations behave the same as internal errors? Solutions:
form.clean() can be used for form wide errors, and form.add_error can be used to integrate those external validation errors into your existing form so that calls like is_valid() still work as expected with your external validations.
Adding fields at runtime: How can the user add fields to a form after it has been rendered?
Solutions:
Javascript can be used for the UI, and if the fields are properly named, the same validations will work as long as the fields are part of the form.
Pitfalls: Creating a solution that creates a dynamic field that is validated, but doesn't render can cause issues with your layout solution (crispyforms fails again here)
This talk was presented at: https://2016.djangocon.us/schedule/presentation/27/
LINKS: Follow DjangCon US 👇 https://twitter.com/djangocon
Follow DEFNA 👇 https://twitter.com/defnado https://www.defna.org/
Date Added: September 19, 2024
Note: We understand that names change, people change, and bodies change. We respect each individual's journey and privacy. If you have any concerns about a video or need us to remove content, please don't hesitate to contact us. We will handle your request with care and promptly address any issues.