Code

Changes between Initial Version and Version 1 of Ticket #17533


Ignore:
Timestamp:
02/05/12 02:40:38 (2 years ago)
Author:
jezdez
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #17533

    • Property Patch needs improvement unset
    • Property Needs tests unset
    • Property Needs documentation unset
  • Ticket #17533 – Description

    initial v1  
    11I'm currently working on building more complex fields with multi-html-element widgets, and connecting them to incoming data models in a way that I think isn't doable in the current design of forms. However, there is a place where fields have access to form data, and that's in the BoundField class in forms.py. If I build my own BoundField class, I can easily give my fields access to the data they need when rendering the widget, as the value() method has access to self.form and self.field. Unfortunately, to build my own BoundField class I have to implement a number of functions in the BaseForm class, one of which, _html_output, is long and not something I actually want to maintain a different version of. 
    22 
    3 So I propose a minor modification: have BaseForm.__init__ set a self._bound_field_class and then use that everywhere, which allows Form class derivatives to set a different BoundField class. 
     3So I propose a minor modification: have `BaseForm.__init__` set a `self._bound_field_class` and then use that everywhere, which allows Form class derivatives to set a different BoundField class. 
    44 
    55I am attaching a patch which does just that. It is against 1.3.1