Как установить валидацию для пароля в django==4
Я использую это представление для установки нового пароля для пользователя, но вывод ниже этого всегда печатается
<пароль не действителен
from django.shortcuts import redirect, render
from django.contrib.auth import login, logout, authenticate
from django.urls import reverse_lazy
from django.contrib import messages
import re
from .models import Users
def edit_password(request):
password_cahnged = False
PASSVALID = r"^a"
error = None
if request.method == "POST":
password = request.POST.get("password")
password1 = request.POST.get("password1")
password2 = request.POST.get("password2")
username = None
if request.user.is_authenticated :
username = request.user.username
user = authenticate(request, username=username, password=password)
if user is not None:
print(PASSVALID)
print(password1)
print(str(password1))
if re.fullmatch(PASSVALID, str(password1)):
if str(password1) == str(password2):
userr = Users.objects.get(username=str(user),password=password)
print(userr)
password_cahnged = True
else:
error = "password not math"
else:
error = "password not valid"
else:
error = "password its wrong"
else:
return redirect("login")
print(error)
context = {"password_cahnged": password_cahnged ,"error":error}
return render(request, "edit_password.html", context=context)
view.py
Если у вас также есть лучшее решение для смены пароля - это приветствуется (кроме форм)