跳转到主要内容

有时form.as_p无法满足需求。此应用程序为所有表单添加了更多渲染方法。它还为所有表单小部件和输入添加了BEM样式CSS类。

项目描述

Django表单渲染器

有时form.as_p无法满足需求。此应用程序为所有表单添加了更多渲染方法。

Travis

安装

  1. django-form-renderers安装或添加到您的Python路径。

  2. form_renderers添加到您的INSTALLED_APPS设置。

它做什么

  1. 每个表单都接收一个基于div的渲染方法,称为as_div

  2. 如果字段是必需的,则每个小部件都会渲染一个属性required="required"。这是一个安全的假设。

  3. 可选 - 每个字段和输入都会得到额外的BEM CSS类。

定义自己的渲染器

在您的应用中创建form_renderers.pyform_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模板覆盖的相同规则也适用于渲染器覆盖。

全局替换as_p和/或as_table

大多数第三方应用程序使用as_pas_table进行渲染。通过设置全局替换它

FORM_RENDERERS = {"replace-as-p": True, "replace-as-table": True}

BEM

BEM是一种CSS命名约定,它提倡显式命名而不是继承。Django表单、字段和小部件不是BEM感知的。要从设置中启用BEM类,请执行以下操作

FORM_RENDERERS = {"enable-bem-classes": True}

作者

Praekelt Consulting

  • Hedley Roos

变更日志

0.3.2

  1. Django 1.10测试通过。优雅地处理Django 1.11小部件重构。

0.3.1

  1. 全局覆盖as_p和as_table的设置。

0.3

  1. 为选择输入添加span标签钩子。这允许CSS选择器定位label标签内的文本。

0.2

  1. 可选的BEM类。

  2. 标准化as_div。

0.1.1

  1. 允许应用程序指定自定义渲染器。

0.1

  1. 首次发布。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

django-form-renderers-0.3.2.tar.gz (9.0 kB 查看哈希)

上传时间

构建分发

django_form_renderers-0.3.2-py2.7.egg (15.9 kB 查看哈希)

上传时间

由支持