1

Pyramidフレームワークを使用してチェックボックスとラジオボタンを使用してフォームを作成しようとしていますが、正しく作成する方法がわかりません。

私はを使用していpyramid_simpleformます。これまで、forループを使用してチェックボックスをフォームに配置することはできましたが、を指定してもチェックボックスをオンにすることはできませんchecked=True

% for item in groups:
${form.checkbox(name="groups",label=item, value=item, checked=True)}
% endfor

私はこれを行うためのより良い方法があることを知っています。私が見ることができる例はありますか?ピラミッドのドキュメントのすべての例は、単純なテキストフィールドです。これまでのところ、ラジオボタンやチェックボックスは見つかりませんでした。

4

2 に答える 2

1

入れてみましたか

defaults={"groups" : True}

たとえば、Form ctorの場合(pyramid_simpleform docの場合):

form = Form(request, MySchema, defaults={"name" : "foo"})

于 2011-03-23T04:32:12.313 に答える
1

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)
于 2013-02-11T16:17:43.087 に答える