【问题标题】:How to edit UserCreationForm password help text?如何编辑 UserCreationForm 密码帮助文本?
【发布时间】:2018-04-07 07:29:58
【问题描述】:

当我创建一个继承自UserCreationForm 的注册表单时,文本“您的密码不能与您的其他个人信息太相似。您的密码必须至少包含 8 个字符。您的密码不能是常用的使用过的密码。您的密码不能完全是数字。”出现在密码输入字段下方并占用相当多的空间。有什么办法可以去掉吗?

我知道username 帮助文本可以通过以下方式删除:

 help_texts = {
        'username': None
    }

但是

help_texts = {
        'password1': None,
        'password2': None,
    }

不起作用。

【问题讨论】:

标签: django django-forms


【解决方案1】:

有什么办法可以去掉这个吗?是的。

  1. !不推荐这种方式!但它有效:

settings.py中删除所有列表中的AUTH_PASSWORD_VALIDATORS = []

  1. 我的方式: 在 .html 文件中我使用过这个
<form method="post">
  {% csrf_token %}

  <label>{{ form.username.label }}</label>
  {{ form.username }}

  <label>{{ form.password1.label }}</label>
  {{ form.password1 }}

  <label>{{ form.password2.label }}</label>
  {{ form.password2 }}

  <input type="submit" value="Submit">
</form>

【讨论】:

    【解决方案2】:

    有点旧但仍然:

    class SignUpForm(UserCreationForm):
    
        class Meta:
            model = User
    
        def __init__(self, *args, **kwargs):
            super().__init__(*args, **kwargs)
            self.fields['password1'].help_text = None
            self.fields['password2'].help_text = None
    

    那些“无”可以用任何你想要的文字来编辑

    【讨论】:

      【解决方案3】:
        password1 = forms.CharField(
                  label='Password', widget=forms.PasswordInput())
              password2 = forms.CharField(
                  label='Confirm Password(again)', widget=forms.PasswordInput())
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-14
        • 2014-03-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-27
        相关资源
        最近更新 更多