как настроить админ django? - PullRequest
1 голос
/ 25 ноября 2010

У меня есть два поля в models.py

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

Я хочу написать admin.py таким образом:

- если password_protected - True: тогда поле паролядолжно быть включено.- если password_protected имеет значение False: тогда поле пароля должно быть отключено.

Ответы [ 2 ]

1 голос
/ 25 ноября 2010

Вы можете попробовать то, что предложил @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 не нужно, поскольку поля имеют виджеты по умолчанию, но я добавил его на случай, если необходимо изменить атрибуты виджета.

0 голосов
/ 25 ноября 2010

Я думаю, что проще всего реализовать это поведение с помощью javascript и jquery. Поля могут быть доступны по их имени с помощью jquery (например, что-то вроде $("input[name=password]");.

Затем вы можете вставить свой js-файл в админку, добавив Media class в админ-класс.

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...