2009/06/22

django "disabled" form

form で、いじらせたくないけど見せたい項目があると
input で disabled とか input とか指定するかと思います
小粋空間: input 要素の disabled 属性と readonly 属性の違い
なるほど、こんな違いがあったとは

Django でも Model で editable=False ってのができるんですが
created_at とか modified_at のようにサーバ側で勝手に保存しとくんで
「ユーザーには見せないし設定させないよ」っていう趣きです
でー、admin にも出なくなったりして、出すのにまた一つ手間が増えるし
ユーザーに見せるのにもうひと手間掛けないとだし

でー、ググってみたら
(何で "disabled" かというと、"" で括らないと disable とかも hit しちゃうからダヨ!!)
In a django form, How to make a field readonly (or disabled) so that it cannot be edited? - Stack Overflow
ModelForm の __init__ を override して実現してらっしゃいました
つか、えっと、指定した Field の widget の attribute を変えてらっしゃるんですが
これは form に readonly とか付けるだけなんで Model の save も override しろとのこと

あとは、用途によって色々使い分けたらいいかなぁ〜、っつう感じでした

0 件のコメント:

コメントを投稿