Python金字塔 - 如何使用复选框和单选按钮
问题描述:
我一直在尝试使用复选框和单选按钮使用金字塔框架使窗体,但我不知道如何正确地做到这一点。我正在使用pyramid_simpleform
。到目前为止,我已经能够使用for循环将我的复选框放在窗体上,但即使指定了checked=True
,我也无法复选任何复选框。Python金字塔 - 如何使用复选框和单选按钮
% for item in groups:
${form.checkbox(name="groups",label=item, value=item, checked=True)}
% endfor
我知道有一个更好的方法来做到这一点。有什么我可以看的例子。金字塔文档中的所有示例都是简单的文本字段。到目前为止,我没有找到任何单选按钮或复选框。
答
您是否尝试过把
defaults={"groups" : True}
在窗体构造函数,例如(在pyramid_simpleform DOC):
form = Form(request, MySchema, defaults={"name" : "foo"})
答
我用FormRenderers输出形式,也有使用复选框问题。所以我写了下面的类,在我所有的视图中替换了simple_form中的FormRenderer:
# -*- coding: utf-8 -*-
from pyramid_simpleform.renderers import FormRenderer as OldFormRenderer
from webhelpers.html import tags
class FormRenderer(OldFormRenderer):
def checkbox(self, name, value="1", checked=False, label=None, id=None,
**attrs):
"""
Outputs checkbox input.
"""
id = id or name
return tags.checkbox(name, value, checked, label, id, **attrs)
+0
...这打破了一些功能。 – born 2013-02-21 15:34:17
感谢您的快速回复!我试过这个'Form(request,MySchema,defaults = {“groups”:{“admin”:True,“user”:True}})'我检查了我的复选框 – 2011-03-23 16:06:09