- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
作为练习,我正在尝试为 24 小时时钟创建一个自定义的 django 小部件。该小部件将是一个 MultiWidget - 每个字段都有一个选择框。
我正在尝试在线关注文档(有点稀疏)并查看 Pro Django 书籍,但我似乎无法弄清楚。我在正确的轨道上吗?我可以保存表单中的数据,但是当我预填充表单时,表单没有以前的值。
看来问题是 decompress() 方法的“值”参数始终为空,所以我没有什么可解释的。
from django.forms import widgets
import datetime
class MilitaryTimeWidget(widgets.MultiWidget):
"""
A widget that displays 24 hours time selection.
"""
def __init__(self, attrs=None):
hours = [ (i, "%02d" %(i)) for i in range(0, 24) ]
minutes = [ (i, "%02d" %(i)) for i in range(0, 60) ]
_widgets = (
widgets.Select(attrs=attrs, choices=hours),
widgets.Select(attrs=attrs, choices=minutes),
)
super(MilitaryTimeWidget, self).__init__(_widgets, attrs)
def decompress(self, value):
print "******** %s" %value
if value:
return [int(value.hour), int(value.minute)]
return [None, None]
def value_from_datadict(self, data, files, name):
hour = data.get("%s_0" %name, None)
minute = data.get("%s_1" %name, None)
if hour and minute:
hour = int(hour)
minute = int(minute)
return datetime.time(hour=hour, minute=minute)
return None
在我的表单中,我这样调用小部件:
arrival_time = forms.TimeField(label="Arrival Time", required=False, widget=MilitaryTimeWidget())
最佳答案
备注this line in the docstring for MultiWidget :
You'll probably want to use this class with MultiValueField.
这就是问题的根源。您也许能够使仅单一小部件的方法起作用(Marty 说这在 Pro Django 中是可能的,但我从未尝试过,而且我认为它可能会更有效),但是在那种情况下,您的小部件不应该是 MultiWidget 的子类。
您需要做的(如果您想遵循 MultiWidget/MultiValueField 路径)是:
然后一切都会正常工作。
关于python - 自定义 django 小部件 - decompress() arg 未填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/539899/
我一直在尝试导入名为 Winter Forest Envoriment 的 Assets ,每次单击导入时都会出现错误“导入包失败,出现错误:无法解压缩包UnityEngine.GUIUtility:
我想编写一个函数,它接受一个压缩字符串并输出解压缩字符串。 像 a2b2c3 这样的压缩字符串解压字符串为 aabbccc更多的例子是 `a` -> `a` `ab12` -> `abbbbbbbbb
我正在尝试使用 Swift 压缩包解压缩 lz4 压缩的 png 图像,但代码以零大小退出。 我的代码如下,解压后的文件预计为240Kb。 [更新 2] 我在 Apple 的文档中偶然发现了这一点:
我正在尝试使用 kafka-python。它要求安装 Snappy。所以我安装它 pip 安装 snappy pip 安装 python_snappy-0.5.2-cp36-cp36m-win_amd
我正在尝试解压缩 MySQL 的 COMPRESS 函数返回的值: SQLQuery query = session .createSQLQuery("SELECT ID, C
我正在尝试使用 Go 创建压缩字符串池。这是我的代码 - http://play.golang.org/p/T5usLfU0fA 我无法解压用 compress/lzw 包压缩的 bin。 lzw.W
我读过这篇 SO post无济于事。 我正在尝试解压缩来自 URL 的 .gz 文件。 url_file_handle=StringIO( gz_data ) gzip_file_handle=gzi
本文整理了Java中loci.formats.codec.ZlibCodec.decompress()方法的一些代码示例,展示了ZlibCodec.decompress()的具体用法。这些代码示例主要
在 ubuntu 19.04 上安装 Cassandra 3.11 版本后,一旦我启动命令 cqlsh,我就会收到以下错误 root@dnilesh:/etc/cassandra# cqlsh Con
我想将一些字节数据插入到 mysql VARBINARY 列中。数据很大,所以我想以压缩的方式存储它。 我正在使用 Percona 5.6 Mysql。我想用Java模拟mysql的COMPRESS函
我可以在python中解压从mysql压缩的数据吗? MySQL 5.6 select to_base64(compress("test")); 来自mysql的结果 BAAAAHicK0ktLgEA
http://php.net/manual/en/phar.decompress.php decompress(); // creates /path/to/my.phar ?> $p2 第一次用在代
我使用 Pillow 库创建缩略图。我必须创建很多,实际上超过 10.000 程序运行良好,但在处理大约 1.500 后,出现以下错误: Traceback (most recent call
我正在尝试使用 LzmaLib带有缓冲区的 LzmaCompress() 和 LzmaDecompress(),改编提供的示例 here . 我正在测试一个 ~3MB 的缓冲区,压缩函数似乎工作正常(
我是一名刚毕业的 SWE,正在学习 Go(并且喜欢它)。 我正在为维基百科转储文件构建一个解析器——基本上是一个巨大的 bzip2 压缩 XML 文件(~50GB 未压缩)。 我想同时做流式解压和解析
我有一个从MySQL表中获取名称(字符串)和值(byte[])的查询。查询都在执行,因为如果我在最后一行放上断点,我就可以查看数据数据表,并看到填充了名称字段的记录。但是,值字段为空。。如果我从查询中
本文整理了Java中net.spy.memcached.transcoders.WhalinV1Transcoder.decompress()方法的一些代码示例,展示了WhalinV1Transcod
本文整理了Java中net.spy.memcached.transcoders.WhalinTranscoder.decompress()方法的一些代码示例,展示了WhalinTranscoder.d
本文整理了Java中com.github.luben.zstd.Zstd.decompress()方法的一些代码示例,展示了Zstd.decompress()的具体用法。这些代码示例主要来源于Gith
本文整理了Java中io.airlift.compress.zstd.ZstdDecompressor.decompress()方法的一些代码示例,展示了ZstdDecompressor.decomp
我是一名优秀的程序员,十分优秀!