ユーザがパスワードを変更しているときにDjango 1.8またはそれ以下を使用している場合は、最小パスワードの長さを強制できますか?ユーザーが自分のウェブサイトに自分のアカウントを作成すると、サインフォームにカスタムバリデーターを使ってパスワードの長さを最小限にします。しかし、ユーザがパスワードを変更したいときは、Djangoのauth_views.password_changeメソッドを呼び出します。このメソッドは、使用されるフォームと検証基準を指定します。Djangoバージョンの最小パスワード長を1.8未満に指定していますか?
# account/urls.py
from django.conf.urls import url
from django.contrib.auth import views as auth_views
urlpatterns = [
...
url(r'^password_change/$',
auth_views.password_change,
{'template_name': 'password_change_form.html'},
name='password_change'),
...
]
私は彼らの新しいパスワードを検証いないよので、ユーザーは自分の最低限の長さの基準を満たしていないものにそれを変更することができます。猿のパッチを当てる以外の方法でこの検証を行う方法はありますか?このStackover questionでは、有効なアプローチについて説明していますが、認証されたユーザーのみが既存のパスワードを変更できるようにするのに対し、認証を実装する場合はそうです。 Django 1.9はAUTH_PASSWORD_VALIDATORS設定でこの機能を提供しますが、私のサイトが公開される前に1.9にアップグレードする時間はありません。
あなたはPasswordChangeForm''から継承新しいフォームを作ることができ、また追加:
とURLを変更あなたの** url **の '{'password_change_form':CustomPasswordChangeForm} 'は、デフォルトのフォームではなくこのフォームをレンダリングします。あなたが望むならviewを使うことができます。助けがあれば[here](http://stackoverflow.com/questions/26457279/passwordchangeform-with-custom-user-model)を参照してください – kapilsdv