盆栽エンジニアリング日記

勉強したことをまとめるブログ

DjangoのForm生成に値を初期化する方法

DjangoのForm生成時に値を初期化する方法

DjangoのFormを使うときに,あらかじめ各入力欄にデータを入れておきたいことが.Webアプリ開発中にありました.
固定の値であれば,デフォルト値として設定すればよいのですが,今回はデータベース上にある,あるレコードの値を格納したいためこの方法は使えません. この場合,Formの生成時にinitialを指定します.
例えば,LeagueFormというフォームにLeagueオブジェクトの各データを格納したいときには以下のようにします.

league_form = LeagueFrom(initial={
        'league_name' : current_league.league_name,
        'match_style': current_league.match_style,
        'rule_set': current_league.rule_set,
        'red_count': current_league.red_count,
        'start_point': current_league.start_point,
        'calculate_point': current_league.calculate_point,
        'uma4_1': current_league.uma4_1,
        'uma3_2': current_league.uma3_2
    })

私は,麻雀リーグの成績管理を自動で行うWebアプリMJMを開発しています
麻雀サークルや麻雀部でのリーグ運営をより簡単におこなるようになります.ぜひご利用ください!