У меня есть следующие формы, определенные в Django, и я не знаю, почему я не могу получить доступ к атрибуту «Имя пользователя» внутри метода «сохранить»:Джанго доступ к атрибутам с самим
class ExtendedUserForm(Form):
required_css_class = 'required'
username = forms.RegexField(regex=r'^[\[email protected]+-]+$', ...)
def save(self, commit = False):
User.objects.create_user(username = self.username,
email = self.email,
password = self.password1)
... всякий раз, когда я пытаюсь получить доступ к нему, я получаю следующее исключение:
Exception Type: AttributeError
Exception Value: 'ExtendedUserForm' object has no attribute 'username'
Я новичок в Python, и я не в полной мере понять классы Python, несмотря прочитав официальный учебник. Любая помощь будет оценена.
Этот пример сбивает с толку. 'save()' - это метод, используемый с 'ModelForm'. В регулярном классе 'Form' нет метода' save() '. –
Мне не нужен ModelForm, для меня достаточно простой формы, поскольку, если я использую ModelForm (я уже пробовал этот путь) с помощью модели User из django.contrib.auth, я получаю много полей из этой модели, которые Я не хочу показывать в форме для регистрации пользователем. Поэтому я решил использовать более простую форму и самостоятельно создать метод «save». – Ricardo
@LudwikTrammer, вы знаете, могу ли я использовать ModelForm и связывать его с моделью, чтобы я мог выбрать только набор полей, которые будут отображаться в полученной форме? Это может мне очень помочь, так как модель User из contrib.auth имеет много полей, которые мне не нужно показывать в форме для регистрации пользователей. – Ricardo