Registration Page(Default )
Registration Route
urls.py
from django.urls import path
from core.views import SignUpView
urlpatterns = [
path('signup/', SignUpView.as_view(), name='signup'),
]
Registration Link
<a href="{% url 'signup' %}">Register</a>
Views.py
from django.shortcuts import render
from django.urls import reverse_lazy
from django.views.generic import CreateView
from core.forms import SignUpForm
# Sign Up View
class SignUpView(CreateView):
form_class = SignUpForm
success_url = reverse_lazy('login')
template_name = 'users/signup.html'
Forms.py
from django import forms
from django.contrib.auth.models import User
from django.contrib.auth.forms import UserCreationForm
# Sign Up Form
class SignUpForm(UserCreationForm):
first_name = forms.CharField(max_length=30, required=False, help_text='Optional')
last_name = forms.CharField(max_length=30, required=False, help_text='Optional')
email = forms.EmailField(max_length=254, help_text='Enter a valid email address')
class Meta:
model = User
fields = [
'username',
'first_name',
'last_name',
'email',
'password1',
'password2',
]
signup.html
{% extends 'base.html' %}
{% block title %}Sign Page{% endblock title %}
{% block content %}
<h2>Sign Page</h2>
<form method="post">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">Register</button>
<br><br>
<a href="{% url 'home' %}">Home</a>
</form>
{% endblock content %}
It will look this
Last updated