2010-11-25 199 views
1

我有兩個領域models.py如何自定義django管理員?

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

我想以這樣的方式來寫admin.py:

- 如果password_protected是真:當時的密碼字段應該被允許。 - 如果password_protected爲False:則應禁用密碼字段。

回答

0

我認爲更簡單的方法是用javascript和jQuery實現這種行爲。字段可以通過他們的名字與jQuery(例如像$("input[name=password]");進行訪問。

然後你可以通過添加Media class到管理類插入您的JS文件到管理。

我希望它能幫助

1

您可以嘗試什麼@luc建議,但你也可以嘗試添加一個小部件password_protected領域:

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

- 並調整其屬性:

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' 

注意,指定widgetpassword字段應該是不必要的,因爲領域都有默認的窗口小部件,但我加了它在情況下,它需要修改控件的屬性。

相關問題