должна ли проверка пароля django не работать

#python #django #django-forms #django-templates

Вопрос:

Я пытаюсь создать систему регистрации пользователей ванили с помощью django, используя пользовательскую форму регистрации. Я хотел бы проверить правильность пароля, не перезагружая страницу. Я изо всех сил пытаюсь как потребовать, чтобы пароли соответствовали стандартному набору требований к паролям django, так и проверить совпадение двух паролей. Чего я хочу добиться, так это чтобы поля пароля вели себя как поле электронной почты. В поле электронной почты, если символ @ отсутствует, появится всплывающее окно, сообщающее мне, что его необходимо изменить. Однако, если пароли не совпадают или в них очень мало символов, я все равно могу отправить форму. Это ожидаемое поведение или что-то идет не так? Я знаю, что могу проверить, действительна ли форма без перезагрузки (например, с помощью ajax для проверки формы is_valid ()) после ее отправки, но я пытаюсь выяснить, необходимо ли это?

вот моя анкета

 class registration_form(UserCreationForm):  username = forms.Field(widget=forms.TextInput(attrs={'class': "form-field w-input", 'placeholder': 'Username'}))  email = forms.Field(widget=forms.EmailInput(attrs={'class': "form-field w-input", 'placeholder': 'Email address'}))  password1 = forms.Field(widget=forms.PasswordInput(attrs={ 'class': "form-field w-input", 'placeholder': 'Password'}))  password2 = forms.Field(widget=forms.PasswordInput(attrs={ 'class': "form-field w-input", 'placeholder': 'Repeat Password'}))   class Meta:  model = User  fields = ('username',)  

Вот соответствующая часть моего шаблона

 lt;form action="{%url 'signup' %}" method="POST"gt;  {% csrf_token %}   {{ registration_form.non_field_errors }}   {{ registration_form.source.errors }}  {{ registration_form.source }}  lt;div class="div-block-register-text"gt;  lt;div class="fieldWrapper"gt;  {{ registration_form.username.errors }}    {{ registration_form.username}}  lt;/divgt;  lt;div class="fieldWrapper"gt;  {{ registration_form.email.errors }}  {{ registration_form.email}}  lt;/divgt;  lt;div class="fieldWrapper"gt;  {{ registration_form.password1.errors }}  {{ registration_form.password1}}  lt;/divgt;   lt;div class="fieldWrapper"gt;  {{ registration_form.password2.errors }}  {{ registration_form.password2}}    lt;/divgt;  lt;/divgt;  

вот соответствующая часть представления

 class CustomLoginView(View):  def get(self,request):    context = {'registration_form': registration_form,  'login_form':AuthenticationForm}  template = 'homepage/login-register.html'  return render(request,template,context=context)  

Комментарии:

1. я почти уверен, что у вас нет встроенной этой функции … вам нужно проверить это самостоятельно с помощью js или на записи с помощью python

2. Я думаю, что проверка, если пароль слишком короткий или что-то в этом роде, не нужна. Вам просто нужно проверить, соответствует ли пароль сохраненному паролю пользователя

3. бичанна, это для регистрации, а не для входа в систему :). Спасибо, Джоран, это объяснило бы мои трудности!