我有兩個領域models.py如何自定義django管理員?
password_protected = models.BooleanField(default=False)
password = models.CharField(max_length=50)
我想以這樣的方式來寫admin.py:
- 如果password_protected是真:當時的密碼字段應該被允許。 - 如果password_protected爲False:則應禁用密碼字段。
我有兩個領域models.py如何自定義django管理員?
password_protected = models.BooleanField(default=False)
password = models.CharField(max_length=50)
我想以這樣的方式來寫admin.py:
- 如果password_protected是真:當時的密碼字段應該被允許。 - 如果password_protected爲False:則應禁用密碼字段。
我認爲更簡單的方法是用javascript和jQuery實現這種行爲。字段可以通過他們的名字與jQuery(例如像$("input[name=password]");
進行訪問。
然後你可以通過添加Media class到管理類插入您的JS文件到管理。
我希望它能幫助
您可以嘗試什麼@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'
注意,指定widget
爲password
字段應該是不必要的,因爲領域都有默認的窗口小部件,但我加了它在情況下,它需要修改控件的屬性。