当前位置: 首页>>编程示例 >>用法及示例精选 >>正文


Python Django MultiWidget.decompress用法及代码示例

本文介绍 django.forms.MultiWidget.decompress 的用法。

声明

decompress(value)

此方法从字段中获取单个 “compressed” 值并返回 “decompressed” 值列表。可以假定输入值有效,但不一定非空。

该方法必须由子类实现,并且由于值可能为空,因此实现必须是防御性的。

“decompression” 背后的基本原理是,有必要将 “split” 表单字段的组合值转换为每个小部件的值。

这方面的一个示例是 SplitDateTimeWidget 如何将 datetime 值转换为将日期和时间拆分为两个单独值的列表:

from django.forms import MultiWidget

class SplitDateTimeWidget(MultiWidget):

    # ...

    def decompress(self, value):
        if value:
            return [value.date(), value.time()]
        return [None, None]

提示

请注意, MultiValueField 有一个互补的方法 compress() 具有相反的职责 - 将所有成员字段的清理值合并为一个。

它提供了一些自定义上下文:

相关用法


注:本文由纯净天空筛选整理自djangoproject.com大神的英文原创作品 django.forms.MultiWidget.decompress。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。