1

フォームのclean関数があり、その中に以下があります。

tags = cleaned_data.get("tags")
logger.info('got to clean function ' + str(tags))

tags値を出力すると、次のように表示されます[ '1', '2', '3' ]。私のテンプレートでは、html を再作成したいときに template_tag があります。

@register.simple_tag
def generate_tags(tags):
    print str(tags)
    # Code to produce the html

そして、私はそれを次のように呼び出しています: {% generate_tags form.tags %}.

ただし、printテンプレート関数でコマンドを終了すると、次のようになります。

<input type="hidden" name="event_tags" value="3" id="id_event_tags_0" />

clean 関数で見たように、配列が返されないのはなぜですか?? clean関数が呼び出される前に配列を取得する方法はありますか?

4

1 に答える 1

1

明らかに、これはどこにも文書化されていません。同じ問題で立ち往生している他の人にとって、formオブジェクトがあれば、次のことができます。

form['field_name'].value()

これにより、クリーニングまたは検証される前の値が得られます。

于 2012-07-29T20:37:15.907 に答える