有时是形式,因为你不喜欢它。此应用程序将向所有窗体添加更多呈现方法。它还将bem样式的css类添加到所有表单小部件和输入中。
django-form-renderers的Python项目详细描述
Django Form Renderers
有时是form.as_p不剪切它。此应用程序向所有窗体添加更多呈现方法。
内容
Installation
- 在python路径中安装或添加django-form-renderers。
- 将form_renderers添加到INSTALLED_APPS设置中。
What it does
- 每个表单都接收一个名为as_div的基于div的呈现方法。
- 如果需要字段,则为每个小部件呈现属性required="required"。 这是一个安全的假设。
- 可选-每个字段和输入都有额外的bem css类。
Defining your own renderers
在应用程序中创建form_renderers.py或form_renderers/__init__.py。每个渲染器必须 成为一个函数:
def as_some_renderer(form): return form._html_output( ... ) def as_another_renderer(form): return form._html_output( ... )
通过在应用程序中创建名为as_div的呈现程序,可以覆盖默认的as_div。 适用于django模板覆盖的规则也适用于渲染器覆盖。
Replace as_p and / or as_table globally
大多数第三方应用程序使用作为p或作为表进行渲染。通过设置全局替换:
FORM_RENDERERS = {"replace-as-p": True, "replace-as-table": True}
BEM
bem是一个css命名约定,它提倡显式命名而不是继承。Django公司 表单、字段和小部件不能感知BEM。要从设置中启用BEM类,请执行以下操作:
FORM_RENDERERS = {"enable-bem-classes": True}
Changelog
0.3.2
- Django 1.10测试通过。优雅地处理django 1.11小部件重构。
0.3.1
- 添加允许全局重写as-p和as-u表的设置。
0.3
- 为选项输入添加一个跨度标记挂钩。这允许css选择器将标签标记中的文本作为目标。
0.2
- 可选的边界元类。
- 标准化为分区
0.1.1
- 允许应用程序指定自定义呈现程序。
0.1
- 第一次释放。