Django的窗体呈现

django-fineforms的Python项目详细描述


https://travis-ci.org/matthiask/django-fineforms.png?branch=master

这个库为django自己的表单提供了一个改进的替换 呈现方法(as_pas_table等),同时保持简单 可扩展,但没有引入全新的框架。

django fineforms由一个模板标记库和一些 固执己见的默认模板。

目标

  • 保持简单和可扩展性
  • 尽量避免使用选项、设置和自定义功能

非目标

  • 与Django CurrPy形式或任何更灵活的库竞争 在那里

安装

只需pip install django-fineforms,然后将fineforms添加到 INSTALLED_APPS

高级概述

模板标记主要将它们的参数包装在包装类中,这样做 真正的工作。例如,{% ff_field %}简单地包装传递的 在FINEFORMS_WRAPPERS设置中定义的包装中的字段。全部 包装器使用模板来呈现其输出。默认包装器 类型如下:

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

包装器本身基本上是不可配置的,但是您可以替换 通过添加^{tt7}单个包装(或所有包装)$ 设置。你不必覆盖所有这些;如果你只想 为您可以设置的特定字段类型添加另一个包装:

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 ...] %}

此模板标记是异常值,因为它在 全部返回值是呈现所有隐藏项的连接结果 所有通过表单的字段。falsy参数(即None)是 为你过滤掉了。

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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
servlets Java EE+GlassFish:如果用户在其他地方登录,则强制用户注销   java在不更改源代码的情况下添加钩子   安卓 Java TextView Onclick()返回表达式错误   java Excel文件未使用Apache存储内部内存   java getRowCount()和getSelectedColumn()不起作用   无法在java中生成视图绑定。util。Android Gradle插件2.1的NoTouchElementException   Java中的类型转换运算符百分比计算为零   主java中的调用方法   java在Javasound中播放多个示例   java如何知道webDriver成功打开URL   java jmock,每次调用时返回新对象   eclipse使用Java在Selenium WebDriver中生成可执行文件   macos捆绑Java OS X应用程序默认为MacRoman编码   java我应该把我的休息网关变成一个图书馆吗?   java Eclipse插件:查找包含子字符串的行号无效   Java IOException:在Linux上发送UDP数据包时没有可用的缓冲区空间   java无法解析jaxbxjc2中的名称“xjc:globalJavaType”。2.52.罐子   java是否有HibernateAPI来检查是否创建了数据库?