2010-11-25 10 views
1

私はこのようにしてadmin.pyを書きたいmodels.pydjango管理者をカスタマイズする方法は?

password_protected = models.BooleanField(default=False) 
password = models.CharField(max_length=50) 

二つのフィールドを持っている:

- password_protectedがTrueの場合:次に、パスワードフィールドが有効でなければなりません。 - password_protectedがFalseの場合:パスワードフィールドを無効にする必要があります。

答えて

0

私はより簡単な方法は、この動作をjavascriptとjqueryで実装することだと思います。フィールドが$("input[name=password]");のような例を何かのために(jQueryを使って自分の名前でアクセスすることができます。

を次に使用すると、管理クラスにMedia classを追加することにより、管理者にあなたのjsファイルを挿入することができます。

私はそれが

1
を役に立てば幸いあなたは@lucが提案何試すことができますが、あなたはまた、 password_protectedフィールドにウィジェットを追加してみてくださいすることができ

password = models.CharField(default=False, widget=forms.TextInput()) 

- とその属性を調整します。

012フィールドはデフォルトのウィジェットを持っているよう passwordフィールドの widgetは、不要であることを指定しますが、私はウィジェットの属性を変更するために必要なの場合にこれを追加しましたことを
form = MyForm(request.POST) 
if form.is_valid(): 
    # do some nice stuff here 
else: 
    if form['password_protected'].data: 
     form.fields['password_protected'].widget.attrs['disabled'] = 'disabled' 

注意。

関連する問題