跳转到主要内容

Django的表单渲染

项目描述

https://github.com/matthiask/django-fineforms/workflows/Tests/badge.svg

此库提供了对Django自身表单渲染方法(如as_pas_table等)的改进替代方案,同时保持简单和可扩展,但不会引入全新的框架。

django-fineforms由一个模板标签库和一些有偏见的默认模板组成。

目标

  • 保持简单和可扩展

  • 尽可能避免选项、设置和可定制性

非目标

  • 与django-crispy-forms或其他更灵活的库竞争

安装

只需pip install django-fineforms,并将fineforms添加到您的INSTALLED_APPS中。

高级概述

模板标签通常将它们的参数封装在包装类中,这些类执行实际的工作。例如,{% ff_field %} 只是将传入的字段封装在由 FINEFORMS_WRAPPERS 设置中定义的包装器中。所有包装器都使用模板来渲染它们的输出。默认的包装器类型如下:

{
    "errors": ErrorsWrapper,
    "field": FieldWrapper,
    "field-plain": PlainFieldWrapper,
    "fields": FieldsWrapper,
}

包装器本身通常不可配置,但您可以通过添加 FINEFORMS_WRAPPERS 设置来替换单个包装器(或全部)。您不必全部覆盖它们;如果您只想为特定字段类型添加另一个包装器,可以只设置

FINEFORMS_WRAPPERS = {
    "specific": "app.wrappers.SpecificWrapper",
}

……然后可以在模板的某个地方使用此包装器作为 {% ff_field some_field type='specific' %}

模板标签

所有模板标签都包含在 fineforms 库中。

{% ff_field field [type=field] %}

模板: fineforms/field.html

渲染单个字段。可以通过传递不同的类型来可选地覆盖包装器。该键必须在 FINEFORMS_WRAPPERS 字典中存在。

默认实现渲染标签、小部件、帮助文本和与字段相关的错误。建议还设置 error_css_classrequired_css_class 表单属性;这些类也添加到输出中。

如果小部件应单独渲染,则可以使用 field-plain 类型。包装的 <span> 标签仍然包含上面提到的 CSS 类。

{% ff_fields form [fields='a,b,c' | exclude='a,b,c'] %}

模板: fineforms/fields.html

渲染表单的字段。 fieldsexclude 是逗号分隔的字符串,可以用来仅渲染字段的选择。如果都提供了,则 fields 参数具有优先级。

隐藏字段将在末尾单独渲染,所有其他字段都使用 FINEFORMS_WRAPPERS["field"] 包装并渲染。

{% ff_errors form1 [form2 ...] %}

模板: fineforms/errors.html

在顶部渲染表单错误。默认实现渲染所有非字段错误,以及所有隐藏字段的错误。虚假参数(即 None)会为您过滤掉。如果没有错误,则不会渲染任何内容。

{% ff_hidden_fields form1 [form2 ...] %}

这个模板标签是特例,因为它根本不使用模板。返回值是所有传入表单的所有隐藏字段渲染结果的连接。虚假参数(即 None)会为您过滤掉。

请注意,{% ff_fields %} 会自动将隐藏字段添加到输出中。

{% ff_submit [_("label")] %}

模板: fineforms/submit.html

显示提交按钮。

项目详情


下载文件

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

源分发

django_fineforms-0.7.0.tar.gz (9.4 kB 查看哈希值)

上传于

构建的发行版

django_fineforms-0.7.0-py3-none-any.whl (12.4 kB 查看哈希值)

上传于 Python 3

由以下支持

AWSAWS云计算和安全赞助商DatadogDatadog监控FastlyFastlyCDNGoogleGoogle下载分析MicrosoftMicrosoftPSF赞助商PingdomPingdom监控SentrySentry错误日志StatusPageStatusPage状态页