django-密码不工作

django-passwords is not working

我正在尝试使用 django 应用程序 - https://github.com/dstufft/django-passwords,为 django 密码设置密码强度检查。以下是我到目前为止所做的事情:

  1. 已安装 django-passwords

    pip install django-passwords
    
  2. 添加 'passwords' 到 INSTALLED_APPS
  3. 创建了一个表单:

    from passwords.fields import PasswordField
    class ResetForm(forms.Form):
      password = PasswordField(label="New password")
      confirmPassword = PasswordField(label="Confirm new password")
    
  4. 在我的页面中添加了表格
  5. 在settings.py中添加了字段

    PASSWORD_MIN_LENGTH = 6
    
  6. 表单在页面中显示正常。当我输入少于6个字符的密码时,没有出现错误。

有什么我遗漏的或我应该做些什么才能让它工作吗?

非常感谢任何帮助。

如果您的代码与您在评论中输入的一样,那么问题出在您的代码定义上。从你写的,你的视图定义是:

def index(request):
    return render_to_response('templateName', {'form': ResetForm})

您从不实例化表单,而是将 POST-数据新添加到表单中。将其更改为:

def index(request):
    if request.method == 'POST':
        form = ResetForm(data=request.POST)
    else:
        form = ResetForm()

    return render_to_response('templateName', {'form': form})

这应该有效:-)。

也许你最好使用 render 方法,包括一个处理 CSRF 令牌的 RequestContext 对象。

有关此主题的更多信息:https://docs.djangoproject.com/en/1.8/topics/forms/#the-view