みーのぺーじ

みーが趣味でやっているPCやソフトウェアについて.Python, Javascript, Processing, Unityなど.

Djangoでフォームのフィールドをhiddenにする

Djangoにて,フィールドを非表示(hidden)にする方法を紹介します.

以下のようにします.ここで,form変数は,django.forms.Formを継承したクラスのインスタンスです.

   for name in form.fields:
        form.fields[name].widget = forms.HiddenInput()

そして,form.as_p()すると,以下のようなHTMLが出力されます.

<form action="/" method="POST"><input type="hidden" name="csrfmiddlewaretoken" value="hh6VgLcQokOkCsdfasdVqRvysauMGtSsyW">
<input id="id_maintext" name="maintext" type="hidden" value="xx"><input id="id_agreed" name="agreed" type="hidden" value="on">
<input type="submit" value="Run">
</form>

type="hidden"が追加されました.