Fix account

This commit is contained in:
Kristofers Solo 2023-06-26 17:13:10 +00:00
parent 927e46dfee
commit 4ab45b4347
4 changed files with 40 additions and 16 deletions

View File

@ -3,9 +3,14 @@ from django.contrib.auth.forms import UserCreationForm
from django.contrib.auth.models import User from django.contrib.auth.models import User
class RegisterForm(UserCreationForm): class SignUpForm(UserCreationForm):
email = forms.EmailField(required=True) email = forms.EmailField(required=False)
class Meta: class Meta:
model = User model = User
fields = ["username", "email", "password1", "password2"] fields = (
"username",
"email",
"password1",
"password2",
)

View File

View File

@ -3,7 +3,6 @@ from django.urls import path
from . import views from . import views
urlpatterns = [ urlpatterns = [
path("", views.sign_up, name="singup"), path("signup/", views.signup_view, name="signup"),
path("signup", views.sign_up, name="signup"), path("login/", views.login_view, name="login"),
path("login", views.login_, name="login"),
] ]

View File

@ -1,20 +1,40 @@
from django.contrib.auth import login from django.contrib.auth import authenticate, login
from django.contrib.auth.forms import AuthenticationForm
from django.shortcuts import redirect, render from django.shortcuts import redirect, render
from .forms import RegisterForm from .forms import SignUpForm
def sign_up(request): def signup_view(request):
form = SignUpForm(request.POST or None)
if request.method == "POST": if request.method == "POST":
form = RegisterForm(request.POST)
if form.is_valid(): if form.is_valid():
user = form.save() user = form.save()
raw_password = form.cleaned_data.get("password1")
user = authenticate(
username=user.username,
password=raw_password,
)
login(request, user) login(request, user)
return redirect("") return redirect("index")
else:
form = RegisterForm() context = {
return render(request, "registration/sign_up.html", {"title": "Sign Up", "form": form}) "title": "Sign Up",
"form": form,
}
return render(request, "registration/signup.html", context)
def login_(request): def login_view(request):
return render(request, "registration/login.html", {"title": "Login"}) form = AuthenticationForm(data=request.POST or None)
if request.method == "POST":
if form.is_valid():
user = form.get_user()
login(request, user)
return redirect("index")
context = {
"title": "Login",
"form": form,
}
return render(request, "registration/login.html", context)