У меня есть список питонапитон глобальное имя не определено
readonly = ['name', 'description']
, что я хочу использовать в нескольких методов. Однако я получаю глобальную переменную не определена ошибка
class EditForm(ModelForm):
# When editing form we want to disable multiple fields
# Admin users can edit existing items via admin interface
readonly = ['name', 'description']
def __init__(self, *args, **kwargs):
super(EditForm, self).__init__(*args, **kwargs)
instance = getattr(self, 'instance', None)
for ro_field in readonly:
if instance and instance.pk:
self.fields[ro_field].widget.attrs['readonly'] = True
Как сохранить список местных и иметь возможность использовать его в __init__
функции и последующих методов, не повторяя настройки списка в каждой функции
Вы также можете использовать 'self.attr' для доступа атрибутов класса внутри методов экземпляра (хотя, если вы * присвоить to * 'self.attr', вы создаете атрибут экземпляра, который тени атрибута класса). – jonrsharpe