djblets.configforms.forms¶
Base support for configuration forms.
- class ConfigPageForm(page, request, user, *args, **kwargs)[source]¶
- Bases: - Form- Base class for a form on a ConfigPage. - Consumers can subclass ConfigPageForm and register it on a - djblets.configforms.pages.ConfigPage. It will be shown whenever the user navigates to that page.- A form will generally be shown as a box with a title and a save button, though this is customizable. - A standard form presents fields that can be filled out and posted. More advanced forms can supply their own template or even their own JavaScript models, views, and CSS. - form_id: Optional[str] = None¶
- The unique ID of the form. - This must be unique across all ConfigPages at a given URL. 
 - save_label: Optional[Union[str, StrPromise]] = 'Save'¶
- The label for the save button. - This can be set to - Noneto disable the button.
 - js_model_class: Optional[str] = None¶
- The optional Backbone model used for the configuration form state. 
 - __init__(page, request, user, *args, **kwargs)[source]¶
- Initialize the form. - Parameters:
- page ( - ConfigPage) – The page this form resides on.
- request ( - HttpRequest) – The HTTP request from the client.
- user ( - User) – The user who is viewing the page.
 
 
 - set_initial(field_values)[source]¶
- Set the initial fields for the form based on provided data. - This can be used during - load()to fill in the fields based on data from the database or another source.- Parameters:
- field_values ( - dict) – The initial field data to set on the form.
 
 - is_visible()[source]¶
- Return whether the form should be visible. - This can be overridden to hide forms based on certain criteria. - Returns:
- Trueif the form should be rendered on the page (default), or- Falseotherwise.
- Return type:
 
 - get_js_model_data()[source]¶
- Return data to pass to the JavaScript Model during instantiation. - If - js_model_classis provided, the data returned from this function will be provided to the model when constructed.- Returns:
- A dictionary of attributes to pass to the Model instance. By default, it will be empty. 
- Return type:
 
 - get_js_view_data()[source]¶
- Return data to pass to the JavaScript View during instantiation. - If - js_view_classis provided, the data returned from this function will be provided to the view when constructed.- Returns:
- A dictionary of options to pass to the View instance. By default, it will be empty. 
- Return type:
 
 - render()[source]¶
- Render the form to a string. - template_namewill be used to render the form. The template will be passed- form(this form’s instance) and- page(the parent- ConfigPage).- Subclasses can override this to provide additional rendering logic. - Returns:
- The rendered form as HTML. 
- Return type:
 
 - get_extra_context()[source]¶
- Return extra rendering context. - Subclasses can override this to provide additional rendering context. - Returns:
- The additional rendering context. By default, it is empty. 
- Return type:
 
 - load()[source]¶
- Load data for the form. - By default, this does nothing. Subclasses can override this to load data into the fields based on data from the database or from another source. 
 - save()[source]¶
- Save the form data. - Subclasses must override this to save data from the fields into the database. - Returns:
- An HTTP response to return from the view after saving, or - Noneto be returned to the- ConfigPagesView.
- Return type:
 
 - __annotations__ = {'css_bundle_names': 'List[str]', 'form_id': 'Optional[str]', 'form_title': 'Optional[StrOrPromise]', 'js_bundle_names': 'List[str]', 'js_model_class': 'Optional[str]', 'js_view_class': 'Optional[str]', 'save_label': 'Optional[StrOrPromise]'}¶
 - declared_fields = {'form_target': <django.forms.fields.CharField object>}¶
 
