I want to make a signup page just like:
<https://lh5.googleusercontent.com/-BYeglZkQ0cM/VK06PkzpdPI/AAAAAAAAAN0/l5xB5VdkbJk/s1600/%E5%B1%8F%E5%B9%95%E5%BF%AB%E7%85%A7%2B2015-01-07%2B%E4%B8%8B%E5%8D%889.52.08.png>
When user click signup, I want to check the if the two password are the
same, when not, give a error message after "confirm password". Here is my
code:
*forms.py*
*class SignupForm(forms.Form): username = forms.CahrField(
label=_("username"), max_length=30, ) email =
forms.EmailField(label=_('email'),) password_1 = forms.CharField(
label=_("password"), widget=forms.PasswordInput, ) password_2
= forms.CharField( label=_("password_confirmed"),
widget=forms.PasswordInput, ) def clean_password_2(self):
password_1 = self.cleaned_data.get("password_1") password_2 =
self.cleaned_data.get("password_2") if password_1 and password_2 and
password_1 != password_2: raise
forms.ValidationError(_('password confirm failed')) return
password_2 signup.html*
<form method="post" action="{% url 'accounts:signup_post' %}">
{% csrf_token %}
<table>
{% for field in form %}
<tr>
<td>{{ field.label_tag }}</td>
<td>{{ field }}</td>
<td>{{ field.errors }}</td>
</tr>
{% endfor %}
</table>
<input type='submit' id="submit" value={% trans "signup" %}>
<a href="{% url 'accounts:login' %}">{% trans "Already have accounts?"
%}</a>
</form>
*views.py*
def signup_post(request):
if request.method == 'POST':
signup_form = forms.SignupForm(request.POST)
if signup_form.is_valid():
signup_info = signup_form.cleaned_data
username = signup_info['username']
email = signup_info['email']
password = signup_info['password_1']
user = User.objects.create_user(
username=username,
email=email,
password=password)
user.save()
# redirect to main page(not written so far)
else:
# I guess something wrong here, but no idea how to fix it.
return redirect(reverse("accounts:signup"))
else:
signup_form = forms.SignupForm()
return render(reverse("accounts:signup"), {'form': signup_form})
Can anyone help me out?
*Thanks!*
--
You received this message because you are subscribed to the Google Groups
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-users/d969fed6-5041-4093-aa35-35d611993cd3%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.