Форум сайта python.su
Привет!
Делаю регистрацию на сайте. Имеется модель:
class Users(models.Model):
login = models.CharField(unique=True, max_length=255)
password = models.CharField(max_length=255)
date_create = models.DateTimeField()
class RegForm(forms.ModelForm):
login = forms.CharField(label='Логин')
password = forms.CharField(label='Пароль', widget=forms.PasswordInput)
class Meta:
model = Users
exclude = ('date_create')
def reg(request):
''' Регистрация нового пользователя '''
if request.method == 'POST':
form = RegForm(request.POST)
if form.is_valid():
u = form.save()
return HttpResponseRedirect('/')
else:
form = RegForm()
return render_to_response('reg.html', {'form': form})
Офлайн
Ну начнём с того, что я не вижу необходимость писать велосипед уже отлично и давно реализованный в модулях (см. стандартную User и django-registration), судя по вопросам вряд ли вы пишете что-то из ряда вон выходящее.
del3dhttp://docs.djangoproject.com/en/dev/ref/models/fields/#datefield
Как мне в БД, в поле date_create записать дату регистрации пользователя (в примере записывается только логин/пароль)?
del3dРекомендую внимательно ознакомиться http://docs.djangoproject.com/en/dev/topics/forms/modelforms/ ибо в вашем примере видно непонимание работы ModelForm
Как сделать еще одно поле для подтверждения пароля?
Офлайн
Советую перед тем как что-то писать - изучить документация Django.
Офлайн
MasterCodyВам бы русский язык за 5 класс подтянуть.
Советую перед тем как что-то писать - изучить документация Django.
fthВот как я понял:
создать дополнительное поле confirm_password и написать собственные правила проверки
#forms.py
...
class RegFormU(MyModelForm):
login = forms.CharField(label='Логин', min_length = 4)
password = forms.CharField(label='Пароль', widget=forms.PasswordInput, max_length = 10)
confirm_password = forms.CharField(label='Подтверждение', widget=forms.PasswordInput, max_length = 10)
def check_pass(self):
if self.password == self.confirm_password:
return True
else:
return False
class Meta:
model = Users
...
#view.py
...
form_u = RegFormU(request.POST)
if form_u.check_pass():
...
Отредактировано (Март 29, 2011 08:41:49)
Офлайн
чем не угодил django-registration? как минимум, можешь там подглядеть формы.
Офлайн
А из request.POST взять не получается?..
Ох и люди )..
Офлайн
slav0nicСпасибо за свежую мысль.. подглядел.. сделал..
чем не угодил django-registration? как минимум, можешь там подглядеть формы.
freemonесли уж с формами связался, то request.POST не рулит..
А из request.POST взять не получается?
Офлайн
del3d
Посмотри аргументу у DateTimeFiled ;)
Либо можешь в форме переписать метод save()
Офлайн
del3d
Нет, когда я говорил о правилах проверки формы я имел в виду другое.
Ознакомьтесь:
http://docs.djangoproject.com/en/dev/ref/forms/validation/
Офлайн