Создание ModelForm для модифицированного пользователя Auth django - PullRequest
0 голосов
/ 31 августа 2011

У меня есть следующий код:

class UserForm(ModelForm):
    email = forms.EmailField(widget = forms.TextInput(attrs ={ 'id':'email'}), required=True)
    first_name = forms.CharField(widget = forms.TextInput(attrs = {'id':'fname'}), required=True)
    last_name = forms.CharField(widget = forms.TextInput(attrs = {'id':'lname'}), required=True)
    linked_id = forms.CharField(widget = forms.HiddenInput(attrs = {'id':'linkedid'}))
    password1 = forms.CharField(label=_('Password'), widget=forms.PasswordInput)
    password2 = forms.CharField(label=_('Re-Enter your password'), widget = forms.PasswordInput)

    class Meta:

        model = UserProfile

        fields = ('email', 'first_name', ... (other fields here))

    def clean_password2(self):
        password1 = self.cleaned_data.get("password1", "")
        password2 = self.cleaned_data['password2']
        if password1 != password2:
            raise forms.ValidationError(_("The passwords you entered did not match!"))
        return password2

По сути, я пытаюсь создать измененную форму регистрации пользователя. И форма действительно обнаруживается, и это хорошо. Но если пользователь пытается реально зарегистрироваться. Не вся информация хранится в моей базе данных. Сохраняются только имя и адрес электронной почты ...

EDIT ::::::

извините, ребята, у меня все получилось, часть полей была настроена неправильно. Но я сталкиваюсь с еще одной проблемой. Когда я просматриваю тестового пользователя на своем сайте, он не шифрует пароль, а просто показывает пароль. Как мне заставить его зашифровать как надо?

1 Ответ

1 голос
/ 31 августа 2011

Я бы предложил вам перечитать документы здесь . Если у вас есть проблемы с пониманием того, как это работает, вам придется взглянуть на источник.

Вот как вы создаете поле пароля с меткой.

password1 = forms.CharField(widget=forms.PasswordInput(attrs={'class':'input_text'}), label='Password')   

Гудлак.

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