flask_admin.form.rules¶
- class NestedRule(rules: Sequence[str | flask_admin.form.rules.FieldSet | flask_admin.form.rules.BaseRule | flask_admin.form.rules.Header | flask_admin.form.rules.Field | flask_admin.form.rules.Macro] | None = None, separator: str = '')[source]¶
Nested rule. Can contain child rules and render them.
Constructor.
- Parameters:
rules – Child rule list
separator – Default separator between rules when rendering them.
- class Text(text: str, escape: bool = True)[source]¶
Render text (or HTML snippet) from string.
Constructor.
- Parameters:
text – Text to render
escape – Should text be escaped or not. Default is True.
- class HTML(html: str)[source]¶
Shortcut for Text rule with escape set to False.
Constructor.
- Parameters:
text – Text to render
escape – Should text be escaped or not. Default is True.
- class Macro(macro_name: str, **kwargs: Any)[source]¶
Render macro by its name from current Jinja2 context.
Constructor.
- Parameters:
macro_name – Macro name
kwargs – Default macro parameters
- class Container(macro_name: str, child_rule: BaseRule, **kwargs: Any)[source]¶
Render container around child rule.
Constructor.
- Parameters:
macro_name – Macro name that will be used as a container
child_rule – Child rule to be rendered inside of container
kwargs – Container macro arguments
The container is nothing but a Jinja Macro that is placed within the current jinja context. The rule inside the container is represented by {{ caller() }} as it is shown in the follwoing Jinja [snippet](/advanced/index.html#built-in-rules):
- class Field(field_name: str, render_field: str = 'lib.render_field')[source]¶
Form field rule.
Constructor.
- Parameters:
field_name – Field name to render
render_field – Macro that will be used to render the field.
- class Header(text: str, header_macro: str = 'lib.render_header')[source]¶
Render header text.
Constructor.
- Parameters:
text – Text to render
header_macro – Header rendering macro
- class FieldSet(rules: Sequence[str | flask_admin.form.rules.FieldSet | flask_admin.form.rules.BaseRule | flask_admin.form.rules.Header | flask_admin.form.rules.Field | flask_admin.form.rules.Macro], header: str | flask_babel.LazyString | None = None, separator: str = '')[source]¶
Field set with header.
Constructor.
- Parameters:
rules – Child rules
header – Header text
separator – Child rule separator