Джанго Форма класса вопрос - PullRequest
       0

Джанго Форма класса вопрос

1 голос
/ 19 августа 2010

Я делаю форму для регистрации пользователя.Вот как выглядит мой шаблон:

<h1>Register</h1>
    <form action="/register/" method="post">
        {{ form.as_p }}
        <input type="submit" value="Register">
    </form>

А вот мое мнение:

from djangoproject1.authentication import forms
from django.http import HttpResponseRedirect
from django.shortcuts import render_to_response

def main(request):
    rform = forms.RegisterForm()
    return render_to_response("authentication/index.html", {'form': rform})

def register(request):
    if request.method == 'POST':
        rform = forms.RegisterForm(request.POST)
        if rform.is_valid():
            print 'VALID!'
            # do something
            return HttpResponseRedirect("/register-success/")
        else:
            print 'INVALID!'
            rform = forms.RegisterForm()
    return render_to_response("authentication/index.html", {'form': rform})

Я еще не дошел до ДЕЙСТВИТЕЛЬНОЙ части, я все еще работаю над неверной частью,Вот как выглядит моя форма:

from django import forms

class RegisterForm(forms.Form):
    username = forms.CharField(min_length=6,max_length=15)
    password = forms.CharField(widget = forms.PasswordInput(),min_length=6,max_length=15)
    confirm_password = forms.CharField(widget = forms.PasswordInput(),min_length=6,max_length=15)
    phone_number = forms.RegexField('\d\d\d-\d\d\d-\d\d\d\d',error_message='Invalid format')

    def clean_password(self):
        password = self.cleaned_data['password']
        confirm_password = self.cleaned_data['confirm_password']
        if password != confirm_password:
            raise forms.ValidationError("Passwords don't match")
        return password

Имя пользователя, пароль, номер телефона.Довольно просто.Однако, когда я нажимаю «Зарегистрироваться», ничего не заполняя, я получаю кучу ошибок, но они нигде не появляются.Это должно произойти автоматически или я что-то упустил?

Спасибо!

1 Ответ

2 голосов
/ 19 августа 2010

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

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